MariaDB Consultancy en beheer
OptimaData levert consultancy, training en beheer diensten voor MariaDB database platformen. OptimaData is professional services partner van MariaDB in de Benelux.
Oorsprong MariaDB
MariaDB is een relationeel databasemanagementsysteem (RDBMS). MariaDB debuteerde in 2009 als een fork van MySQL die werd gemaakt door een team dat ook werd geleid door Widenius, die Sun begin dat jaar verliet omdat hij zich zorgen maakte over de richting en ontwikkeling van MySQL. Het werk aan MariaDB begon toen hij nog bij Sun werkte, en het was oorspronkelijk ontworpen als een drop-in vervanging voor MySQL. Maar dat was slechts volledig het geval tot de 5.5 releases van de twee databases. Daarna werden nieuwe functies die niet in MySQL zaten toegevoegd aan MariaDB, dat een andere nummering heeft gebruikt voor de volgende releases.
Het is geschreven in C, C++ en Perl en wordt beschikbaar gesteld onder de voorwaarden van de GPL.
Compatibiliteit
MariaDB is momenteel één van de populairste relationele database systemen. Terwijl application compatibility met MySQL® gewaarborgd blijft, voegt het nieuwe mogelijkheden toe om aan de nieuwe uitdagingen in web- en bedrijfsapplicaties tegemoet te komen.
Zelfs met nieuwere updates is het echter relatief eenvoudig om van MySQL naar MariaDB te migreren. De databestanden van MariaDB zijn over het algemeen binair compatibel met die van MySQL en de clientprotocollen van de databases zijn ook compatibel. In veel gevallen kunnen gebruikers gewoon MySQL verwijderen en MariaDB installeren. MariaDB PLC, die de ontwikkeling van de software leidt via de MariaDB Foundation, houdt een lijst bij van incompatibiliteiten en verschillen met MySQL.
Wat zijn de belangrijkste verschillen tussen MariaDB en MySQL?
Hoewel MariaDB en MySQL oorspronkelijk uit dezelfde codebase voortkwamen en nog steeds grotendeels compatibel zijn op SQL-niveau, hebben beide systemen zich in de loop der tijd ontwikkeld in verschillende richtingen. Dit heeft geleid tot aanzienlijke verschillen in functionaliteiten, prestaties en uitbreidingsmogelijkheden. Hieronder lichten we de belangrijkste verschillen uit:
1. JSON-functionaliteit
- MariaDB:
JSON-gegevens worden opgeslagen als strings. Het ondersteunt functies zoalsJSON_QUERY
enJSON_EXISTS
, maar het JSON-datatype is technisch gezien een alias voor LONGTEXT (vanaf versie 10.2). - MySQL:
JSON-gegevens worden opgeslagen als binaire objecten, wat de verwerking efficiënter maakt. Het biedt daarnaast ondersteuning voor functies zoalsJSON_TABLE
, maar ondersteuntJSON_QUERY
enJSON_EXISTS
niet.
2. Geavanceerde functionaliteiten
- MariaDB:
Biedt unieke functies zoals onzichtbare kolommen, ondersteuning voor meerdere opslag-engines binnen één tabel, virtuele kolommen en engines voor sequentieopslag. - MySQL:
Ondersteunt dynamische kolommen voor gegevenswaarden en biedt functies zoals gegevensmaskering.
3. Gebruikersauthenticatie
- MariaDB:
Beschikt over drie verschillende validatieplugins, inclusief deed25519
-authenticatieplugin voor verbeterde beveiliging. - MySQL:
Bevat eenvalidate_password
-component die speciaal gericht is op het versterken van wachtwoordbeveiliging.
4. Encryptie en beveiliging
- MariaDB:
Ondersteunt encryptie voor binaire logs en tijdelijke tabellen, wat bijdraagt aan een betere bescherming van gegevens. - MySQL:
Ondersteunt encryptie voor redo- en undo-logs, maar niet voor tijdelijke tablespaces of binaire logs.
5. Threadpooling
- MariaDB:
Thread pooling is inbegrepen in de gratis gemeenschapseditie, wat het toegankelijk maakt voor een breed publiek. - MySQL:
Threadpooling is alleen beschikbaar in de enterprise-versie, waarvoor een licentie vereist is.
6. Schaalbaarheid en prestaties
- MariaDB:
Geoptimaliseerd voor schaalbaarheid en snelle zoekprestaties, wat vooral merkbaar is in benchmarks en toepassingen met een hoge belasting. - MySQL:
Heeft in sommige benchmarks en praktische scenario’s langzamere responstijden laten zien.
7. Ondersteunde opslag-engines
- MariaDB:
Biedt een breed scala aan opslag-engines, waaronder krachtige opties zoals XtraDB, Aria en MariaDB ColumnStore. - MySQL:
Heeft een beperkter aanbod aan opslag-engines in vergelijking met MariaDB.
8. Oracle-database compatibiliteit
- MariaDB:
Ondersteunt PL/SQL sinds versie 10.3, waardoor het aantrekkelijk is voor gebruikers die bekend zijn met Oracle-systemen. - MySQL:
Biedt geen ondersteuning voor PL/SQL.
Verbetering MySQL
De nieuwste versie kan gratis worden gedownload van MariaDB.org (Linux en Windows), of rechtstreeks geïnstalleerd van je Linux repository (bijvoorbeeld Red Hat, Fedora, Suse en Debian) of gehost op Cloud Services (zoals Amazon AWS).
MariaDB is een drop-in replacement voor elke versie van MySQL. Dat betekent dat alles zal blijven werken zoals dat deed met MySQL. Php connectors blijven feilloos connectie maken met de “nieuwe, betere MySQL”. De mogelijkheden wat betreft bijvoorbeeld performance, storage engine en schaalbaarheid zijn veel beter dan met MySQL.
Verschil tussen MariaDB Foundation en MariaDB Corporation?
Stichting MariaDB
De MariaDB Foundation, een non-profitorganisatie, speelt een cruciale rol in het beheer en de ontwikkeling van MariaDB. Deze stichting wordt ondersteund door een wereldwijde community van bijdragers, die gezamenlijk verantwoordelijk zijn voor:
- Het onderhouden van uitgebreide en actuele documentatie.
- Het beoordelen en accepteren van codebijdragen (patches).
- Het waarborgen van de stabiliteit van nieuwe releases.
- Het bevorderen van samenwerking en kennisdeling binnen de gebruikers- en ontwikkelaarsgemeenschap.
De Foundation heeft als missie om MariaDB open en vrij toegankelijk te houden, zonder afhankelijk te zijn van één enkele commerciële partij. De financiering van de stichting komt voornamelijk uit sponsoring en donaties van organisaties en individuen die MariaDB gebruiken en ondersteunen.
MariaDB Corporation
MariaDB plc (voorheen MariaDB Corporation) is het commerciële bedrijf achter MariaDB. Het richt zich op het ontwikkelen en aanbieden van enterprise-oplossingen die zijn gebaseerd op de open-source MariaDB Server.
Het onderscheid tussen de MariaDB Community Server en de MariaDB Enterprise Server is vergelijkbaar met andere open-source projecten die zowel een gratis communityversie als een enterpriseversie met uitgebreide functionaliteiten en ondersteuning aanbieden.
Waarom is dit belangrijk?
Bij het kiezen van MariaDB voor een project is het belangrijk om goed te kijken naar de versie die je gaat gebruiken. De keuze tussen de community- of enterprise-versie heeft directe invloed op:
- Functionaliteiten: Enterprise-versies bieden vaak extra tools en opties die je niet in de communityversie vindt.
- Ondersteuning: Enterprise-edities komen met professionele supportmogelijkheden.
- Geschiktheid: Afhankelijk van je omgeving en specifieke behoeften kan één van de twee beter aansluiten bij jouw project.
Door dit onderscheid helder te maken, kun je beter afwegen welke versie het meest geschikt is voor jouw specifieke toepassingen.
NoSQL combinatie
MariaDB, heeft een ‘Community Server’-versie van de database vrijgegeven die een combinatie maakt van de populaire NoSQL-architectuur en de vertrouwde, robuuste SQL-configuratie. MariaDB heeft deze twee typen databases geïntegreerd, waarbij de eigen database samenwerkt met de Apache Cassandra NoSQL database. Door toevoeging van de Cassandra Storage Engine verschijnen kolommen (columns) uit Cassandra nu als tabellen (tables) in MariaDB. Het is mogelijk gegevens in deze tabellen te plaatsen en de data weer te selecteren. Ook is het mogelijk combinaties te maken van gegevens die in Cassandra staan en die in MariaDB zijn opgeslagen.
Dit is een oplossing voor het gat tussen de twee typen data-opslag dat veel te lang heeft bestaan. MariaDB brengt de nieuwe functionaliteit uit met de nieuwe versie MariaDB 10 Enterprise en Enterprise Cluster. Beide varianten zijn gebaseerd op MySQL. MariaDB is bovendien veel sneller dan voorgaande versies, onder meer vanwege de mogelijkheid tot parallelle replicatie.
Schematisch overzicht MariaDB architectuur
MariaDB Server: De kern van open-source databasebeheer
MariaDB Server, ook wel bekend als MariaDB Community Server, is een krachtig open-source softwarepakket dat volledig gratis beschikbaar is voor installatie en gebruik. Het is ontworpen om maximale flexibiliteit, betrouwbaarheid en prestaties te bieden voor een breed scala aan toepassingen.
Belangrijkste kenmerken van MariaDB Community Server:
1. SQL en NoSQL-ondersteuning
MariaDB biedt uitgebreide ondersteuning voor zowel SQL als NoSQL, waardoor je gegevens flexibel kunt beheren en verschillende toegangspatronen kunt toepassen op basis van je behoeften.
2. Diverse opslagengines
MariaDB bevat een scala aan opslagengines die zijn geoptimaliseerd voor verschillende doeleinden:
- InnoDB: Voor ACID-conforme transacties en maximale betrouwbaarheid.
- MyRocks: Voor efficiënte opslag en hoge prestaties.
- Aria: Voor caching en het beheer van tijdelijke tabellen.
3. Geavanceerde replicatie
Met MariaDB beschik je over krachtige replicatiemogelijkheden:
- Ondersteuning voor replicatie tussen MariaDB- en MySQL-servers.
- Galera Cluster voor synchrone multi-master replicatie.
- Keuze uit meerdere replicatieformaten, zoals rij-gebaseerd, statement-gebaseerd of gemengd.
4. Sterke beveiligingsopties
MariaDB komt standaard met uitgebreide beveiligingsfuncties, waaronder:
- Database-encryptie voor veilige opslag van gegevens.
- SSL-ondersteuning (Secure Sockets Layer) voor veilige communicatie.
- Rolgebaseerde toegangscontrole om gebruikersrechten effectief te beheren.
- Audit-plugins om activiteiten binnen de database te monitoren en te loggen.
5. Geavanceerde query-optimalisatie
MariaDB biedt tools voor optimale databaseprestaties, waaronder:
- Ondersteuning voor JSON-functies voor gestructureerde data.
- Gemeenschappelijke tabeluitdrukkingen (CTE’s) voor complexe query’s.
- Ondersteuning voor geografische gegevens, ideaal voor toepassingen met ruimtelijke data.
6. Compatibiliteit met MySQL
MariaDB maakt het eenvoudig om over te stappen van MySQL door een vergelijkbare syntaxis, commandostructuur en API’s te bieden. Dit minimaliseert migratieproblemen en verkort de leercurve.
7. Open-source tools en plugins
Het pakket bevat een breed scala aan tools en plugins voor:
- Databasebeheer.
- Monitoring.
- Prestatiefijnstemming.
8. Ondersteuning voor de cloud
MariaDB is perfect geschikt voor implementatie in moderne cloud-omgevingen, dankzij ingebouwde ondersteuning voor containertechnologieën zoals Docker en Kubernetes.
MariaDB database beheer
Welke voorzieningen kunnen het best worden genomen om het systeem beschikbaar te houden? En dan niet alleen tijdens onfortuinlijke gebeurtenissen, maar ook tijdens upgrades, software releases en andere wijzigingen in de database omgeving? De beschikbare mogelijkheden veranderen in een snel tempo en de consultants van OptimaData kunnen een advies geven passend bij uw situatie en wensen aangaande het database beheer.
Een QuickScan voor een goed beeld van uw omgeving met een set aanbevelingen voor optimale performance van uw huidige en toekomstbestendige database omgeving. Toepassen van best practices en performance tuning om het maximale rendement uit uw configuratie te halen. Regelmatige HealthChecks om een vinger aan de pols te houden in relatie tot vervuiling, groei van de database of hernieuwde datamodellering. Met database beheer middels de diensten Managed Consultancy of Managed Services bent u verzekerd van business continuity, database onderhoud en 24/7 support bij verstoringen of incidenten.