FoundationDB: het nieuwe open-source databaseproject van Apple

FoundationDB open source project van Apple
FoundationDB open source project van Apple
Home / Blog & Nieuws / Applicatie-ontwikkeling / FoundationDB: het nieuwe open-source databaseproject van Apple

Leuk nieuwtje voor databasefanatiekelingen. Apple heeft een nieuw open source project op Github gereleased. FoundationDB heet het, en het is gedistribueerde databasesoftware die ontworpen is om grote hoeveelheden data te hanteren voor geclusterde servers. De software focust zich sterk op hoge prestaties, schaalbaarheid en fouttoleranties. Dit houdt in dat webprojecten die de software gebruiken voor de back-end sneller zijn en slimmer omgaan met de resources. FoundationDB is daarnaast ACID-compliant, een methodiek waarmee transacties minder snel verstrikt raken als ze tegelijkertijd draaien.

iCloud als case study?

Hoewel het niet geheel zeker is, zijn er aanwijzingen dat Apple FoundationDB ook gebruikt voor bepaalde iCloud-features. Die aanwijzingen zijn gebaseerd op een paper die omschrijft hoe CloudKit werkt. In dat document wordt ook een NoSQL-database omschreven waarmee app developers data op eenvoudige wijze kunnen synchroniseren tussen verschillende apparaten.

CloudKit wordt onder andere gebruikt voor iOS backups, foto’s en iCloud Drive, is onder andere in diezelfde paper te lezen. In een blogpost op de website van Foundation DB schrijft een (anonieme) blogger dat de software z’n sporen de afgelopen jaren heeft verdiend. Geen bewijs dus, maar mocht het wel zo zijn dan is het nogal een flinke case study.

Next-generation gedistribueerde database

FoundationDB gelooft er zelf heilig in dat FoundationDB het nieuwe fundament (ha!) is voor gedistribueerde databases.

In de kern is de databasesoftware simpel maar krachtig ontwikkeld. De komende jaren willen zij de kern samen met de community uitbreiden op basis van “layers”. In de kern vind je alle functionaliteit die nodig is om de software te draaien of functionaliteit die niet mogelijk is om te schrijven in een laag.

Layers zijn bedoeld om de kern van de databasesoftware aan te vullen. Doordat je meerdere lagen kan runnen op een enkele cluster, kan de specifieke applicatie gematcht worden met het beste datamodel.

Open source community

Het plan van Apple is dat ze met regelmaat nieuwe kernfunctionaliteit zullen releasen op Github. Verder willen ze met het open source maken van het project bouwen aan een community. Zo willen zij de community onder andere aanmoedigen om softwarelagen te bouwen. Denk aan een SQL layer of een protocol buffer layer voor Ruby.

Documentatie over hoe je kunt deelnemen aan het open source project staat inmiddels op Github. Apple heeft een design document gemaakt waarbij de focus ligt op transparantie en governance. FoundationDB is gereleased onder de Apache 2.0 licentie, waartoe ook andere opensourceprojecten Swift, Darwin Kernel en WebKit behoren.

Meer informatie lees je op FoundationDB.org.

Ben jij geïnteresseerd in het bijdragen aan FoundationDB of wil je dit toepassen voor jouw webproject? Bij True denken we graag met je mee hoe we FoundationDB kunnen optimaliseren binnen een servercluster. Onze hostingexperts onderzoeken graag met je mee. Neem contact met ons op.

True Ligan
Managed hosting sinds 2000