Een opsomming / samenvatting dan maar?
Hoe beslis ik welke database ik moet gebruiken?
Er is geen eenduidige manier om te beslissen welke database je moet gebruiken. Wel kun je kijken naar wat jou persoonlijke situatie is, en dan een aantal randvoorwaarden nagaan, en zien in hoeverre die voor jou van toepassing zijn.
Randvoorwaarden
platform
Als je al weet op welk platform [OS / hardware] je database moet gaan draaien, dan kun je al snel een aantal databases laten afvallen die daar niet op draaien.
Snelheid, schaalbaarheid en betrouwbaarheid
Alle makers van databaseprodukten zeggen dat hun produkt sneller, schaalbaarder en betrouwbaarder is dan die van anderen, maar ze kunnen natuurlijk nooit allemaal gelijk hebben. De waarheid ligt echter ergens in het midden. Wat de werkelijke snelheid, schaalbaarheid en betrouwbaarheid is, is sterk afhankelijk van de toepassing en omgeving.
Kijk daarom niet naar krachttermen, maar
kijk of een database snel, schaalbaar en betrouwbaar genoeg is. Kijk naar toepassingen die intensiever gebruik maken van een database dan de door jou te bouwen toepassing. Als het goed werkt dan is het dus voldoende.
Features
Kijk alleen naar de features die jij nodig hebt en werkelijk gaat gebruiken en vergeet de rest. Denk daarbij aan de volgende zaken:
- ondersteunde datatypes
- indeces
- compleetheid SQL dialect (bijv. subselects, UNION, JOINs, group aggregate functions ect)
- (foreign key) constraints
- transacties
- management tools (backup/restore, import/export, etc)
- ondersteunde interfaces
Prijs
Natuurlijk is er altijd een overweging m.b.t. prijs. Denk daarbij vooral aan hoe belangrijk je toepassing gaat worden, en hoeveel het zou kosten als de database niet snel, schaalbaar of betrouwbaar genoeg is, de kosten om dat te herstellen, de ondersteuning die je nodig zal hebben, etc.
Een hoge prijs betekent niet automatisch een goed product, maar een reputatie van een product en de mogelijkheden tot ondersteuning zijn wel belangrijk, en hoe beter die twee zijn, hoe hoger algemeen de prijs van het product. Toch zijn er ook prima gratis producten, zowel open source als anders.
Kijk binnen een organisatie ook eens naar bestaande licenties. Vaak is er bijvoorbeeld al een Oracle of MS SQL licentie aangeschaft voor een database die nodig is voor bijv. een eCommerce product o.i.d. Vaak kan je gewoon binnen die database een nieuw schema aanmaken, en zo gratis meeliften op een bestaande licentie. Als uiteindelijk blijkt dat dat niet meer voldoende mogelijkheden biedt kan je dan later alsnog een aparte licentie aanschaffen.
Hosting
Waar gaat je database draaien? Meestal zal je 1 ontwikkelomgeving hebben, en 1 produktieomgeving. Als die produktieomgeving niet op een eigen server draait maar op een server van een host, moet die natuurlijk wel het door jou gekozen databasetype ondersteunen, en liefst ook voor een redelijke prijs. Ook zaken zoals backups e.d. moeten geregeld zijn.
Kennis & support
Tijdens het ontwikkelen, uitrollen of gebruik van een applicatie zal je vaak tegen de grenzen van je eigen kennis aanlopen. Op dat moment is het belangrijk dat er voldoende bronnen van informatie van goede kwaliteit zijn. Denk dan aan:
- handleidingen
- newsgroups
- fora
- vrienden / collega's
- training / certificering
- inhuur / outsourcing
- commerciele support van producent
Soms wordt echter te makkelijk gekozen voor een database, omdat je er zelf of vrienden/collega's al kennis van en/of ervaring mee hebben. Hoewel dat een groot voordeel is wat ik niet wil afschrijven, is dit ook niet zaligmakend.
Bestaande software
Wil je niet zelf programmeren, of liefst zo min mogelijk? Dan is het belangrijk een database te kiezen waarvoor er al veel kant-en-klare software bestaat, die je dan eventueel kunt aanpassen.
Open Source
MySQL
Platform: Win32, *nix
Pro:
+ grote userbase
+ veel gratis / goedkope hosting beschikbaar
+ veel kant-en-klaar software
Con:
- advanced features (subqueries, transacties, foreign key constrains) pas met laatste versie en uitbreiding (InnoDB) aanwezig
PostgreSQL
Platform: Win32, *nix
Pro:
+ redelijk grote userbase
+ ondersteuning advanced features
+ redelijk veel kant-en-klare software
+ gratis / goedkope hosting beschikbaar
Con:
- slecht reputatie m.b.t. performance van oudere versies
Firebird
Platform: Win32, *nix
Pro:
+ afgeleid van commercieel product
Con:
- kleine userbase
- hosting schaars
- weinig kant-en-klare software
SAP DB
Platform: Win32, *nix
Pro:
+ database van commercieel nivo
Con:
- kleine userbase
- hosting schaars
- weinig kant-en-klare software
Gratis (onder voorwaarden)
MSDE
Platform: Win32
Pro:
+ SQL Server 2000 compatible, dus makkelijk te migreren
+ stabiliteit van commercieel nivo
+ redelijk grote hoeveelheid kant-en-klare programma's
+ veel hosting (SQL Server 2000)
+ geen voorwaarden aan daadwerlelijk gebruik
Con:
- hosting (SQL Server 2000) vaak duurder
- performance beperkt (max 5 T-SQL threads tegelijk)
- geen management tools
DB2 PDE (Personal Developers Edition
Platform: Win32, *nix, etc
Pro:
+ commercieel nivo database
+ redelijk grote hoeveelheid kant-en-klare programma's
+ grote userbase
Con:
- hosting duur, schaars
- weinig kant-en-klare software
- gebruik beperkt tot alleen development doeleinden, geen produktie
Oracle 9i Personal Edition
Platform: Win32, *nix, etc
Pro:
+ commercieel nivo database
+ redelijke userbase
+ redelijke hoeveelheid kant-en-klare software
Con:
- hosting duur, schaars
- gebruik beperkt tot alleen development doeleinden, geen produktie
Sybase Adaptive Server Enterprise version 12.5 Developer's Edition
Platform: Win32, Linux
Pro:
+ commercieel nivo database
Con:
- kleine userbase
- weinig kant-en-klare software
- hosting duur, schaars
- gebruik beperkt tot alleen development doeleinden, geen produktie
MS Access
Platform: Win32
Pro:
+ uitgebreide, soms gratis hosting
+ veel kant-en-klare software beschikbaar
+ grote userbase
Con:
- heeft beperkingen m.b.t. schaalbaarheid
- mist sommige geavanceerde features
Op- en aanmerkingen zijn van harte welkom ... misschien na bijschaving geschikt voor FAQ?
edit:
1) toevoeging Sybase Adaptive Server Enterprise 12.5 Developers Edition
2) verduidelijking con MSDE
3) toevoeging suggestieve con PostgreSQL
4) toevoeging MS Access
5) toevoeging 'Hoe een DB te kiezen'
6) toevoeging Win32 als PostgreSQL platform
[
Voor 0% gewijzigd door
Verwijderd op 18-09-2002 17:55
. Reden: Aanvullingen ]