sql >> Databasteknik >  >> RDS >> Mysql

Derby eller MySQL eller...?

Varför är Derby och MySQL den enda RDMBS du anser? Om du säger Derby , bör du kolla in HSQLDB , H2 , SQLite också. Om du säger MySQL , bör du kolla in Postgres också (som har många fler funktioner).

Detta är bara för att nämna några gratis RDBMS. Naturligtvis, som Charlie redan uttryckte det, finns det massor av andra och massor av anledningar att gå åt båda hållen. Kolla in denna (IMO utmärkt) jämförelsesida på Wikipedia, där du hittar fördelar och begränsningar med alla RDBMS:

http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

När det gäller ditt krav på att din webbapp ska vara "nedladdningsbar" kan du naturligtvis bädda in en RDBMS (vilken som helst av Derby, H2, HSQLDB) i din webbapp. Men du kan också bara göra din MySQL eller Postgres eller vilken integration som helst konfigurerbar och ge dina nedladdare instruktioner om hur de ställer in din webbapp själva. När allt kommer omkring när du använder en containerkonfigurerad DataSource för din webbapp kan denna konfiguration göras enkelt.

Nu, även om du tror att det kan vara lättare för dig att utveckla din webbapp med en inbäddad databas, bör du alltid tänka steget före. Frågor som:

  • Kommer du att kunna ansluta till den databasen direkt, för att enkelt korrigera datainkonsekvenser? (Det kommer att hända oss alla)
  • Kan du enkelt ändra schemat?
  • Kommer du att kunna säkerhetskopiera dina data enkelt?
  • osv etc... det finns fler underhållsfrågor också

Eftersom dina kommentarer tyder på att din data ökar med tiden, och den borde bestå, skulle jag inte välja en inbäddad version, utan hålla data åtskilda från applikationen. Observera att detta inte utesluter Derby från din applikationsdesign. Det betyder bara att du måste köra Derby som en fristående server.



  1. Android Sqlite vid uppgradering av raderingstabell från databasen

  2. Lägga till en identitet i en befintlig kolumn

  3. Hur man får året från en dejt i T-SQL

  4. Infoga hex-värden i MySql