Couchbase krijgt financiële injectie van 14 miljoen dollar

Couchbase, een bedrijf dat nosql-databasesoftware ontwikkelt, heeft 14 miljoen dollar weten binnen te halen bij een groep risico-investeerders. Het softwarebedrijf wil met het geld internationale expansie bekostigen en grote bedrijven benaderen.

De 14 miljoen dollar zijn deels afkomstig van durfkapitalist Ignition Partners, terwijl Accel Partners, Mayfield Fund en North Bridge Venture Partners opnieuw geld in Couchbase hebben gestoken. De nosql-ontwikkelaar wil het geld steken in productontwikkeling, het aanprijzen van Couchbase bij grote bedrijven en investeringen om het bedrijf internationaal te laten opereren. De investeringen moeten de snel stijgende vraag naar de databasesoftware van Couchbase opvangen.

Couchbase bouwt databasesoftware en is ontstaan uit een fusie tussen CouchOne en Membase. De nosql-software van Couchbase, die op de markt wordt gezet als Couchbase Server, werkt niet volgens de structuur van de gangbare relationele databases, maar met een methode die wordt omschreven als 'gestructureerde data-opslag'. Dergelijke databasesoftware zou vooral nuttig zijn voor de bouw van webapplicaties en mobiele toepassingen.

Door Dimitri Reijerman

Redacteur

11-08-2011 • 13:29

10

Reacties (10)

Sorteer op:

Weergave:

Wat is het verschil tussen Couchbase en Mongodb?

Beide draaien als een service en beide accepteren JSON als query language.
Het verschil tussen verschillende NoSQL databases zit hem vooral in schaalbaarheid en performance. MongoDB is meer document georienteerd, Cassandra is een schaalbaarheids monster, etc.

Hoewel de interface "redelijk" gelijk is is er nog geen universele interface, zoals we die bij SQL kennen.
Het gaat hier over CouchDB, niet Cassandra dat is een kolomgeorienteerde database wat nogal een verschil is.

CouchDB is anders dan MongoDB voornamelijk vanwege de map/reduce-programma's die je moet schrijven om data te verwerken, dit is zeer efficient op een Lounge cluster van CouchDB nodes. We kunnen er vele PBs naar wegschrijven en snel vele GBs doorrekenen.

Een ander belangrijk verschil is dat CouchDB het MVCC-principe hanteert, van corruptie is geen sprake (uitgezonderd een release met een nare bug) en we kunnen zonder problemen de stroom laten uitvallen op een derde van de machines.

MongoDB heeft als grote voordeel tegenover CouchDB dat je ad-hoc queries erop los kan laten.
Ik heb met beide ervaring.

In de praktijk verschillen couchdb en mongodb niet zo heel veel van elkaar (buiten de query / commando layout). Qua stabiliteit is het echter een heel ander verhaal.

Replicatie op couchdb gaat niet zoals je zou verwachten. Je moet een cron scriptje maken die (bijv) elke minuut draait want het is elke keer een one time actie van de gegevens die op dat moment in de database staan. Bij mongoDB kan je net als in MySQL nodes opgeven en dan regelt hij zelf constante replicatie (evt met geforceerd achterlopen enz).

Als je echt alleen map/reduce functies wilt kan je ook naar mongodb kijken, deze heeft daar ook support voor. Er is bij beide wel een min punt te noemen, en dat is dat de hele tabel gelocked word op het moment dat je een map/reduce doet en dat deze niet in het geheugen gecached worden. In mijn specifieke geval met 500.000+ records in een aparte tabel (of document / document structuur of hoe je het ook wil noemen), was het voor ons slimmer om de map/reduce door PHP te laten doen en de DB software echt alleen maar volle datasets terug te laten geven.

CouchDB heeft wel 1 pluspunt van mij en dat is dat ze een directe JSON/REST interface hebben waartegen je met javascript aan kan praten. Hierdoor kan je vanuit javascript direct database gegevens ophalen. MongoDB kan dit ook, maar via omwegen (via php scripts).

Lang verhaal in het kort.
Ik heb met beide uitvoerig getest onder hoge load en heb uiteindelijk voor mongodb gekozen. Bijde liggen heel dicht bij elkaar maar wat mij het voordeel gaf aan mongodb was de leeftijd ervan. MongoDB is er al vele malen langer en is derhalve ook uit de eerste kinderschoenen. Bij couchdb merk je hier en daar nogal eens dat ze echt in de startup fase zitten.
Beetje zinloze respons, je gaat niet in op de specifieke verschillen tussen Couchbase en MongoDB.

Ik heb zelf geen ervaring met Couchbase (de combinatie van Membase en CouchDB), maar maak wel veel gebruik van CouchDB. (Heb ook geen ervaring met MongoDB.) De verhalen over MongoDB zijn dat het niet zo goed is in durability (e.g. crash recovery), maar wel erg snel is. Bovendien kan je min of meer SQL-achtig queries schrijven, waar je in CouchDB Map-Reduce scriptjes schrijft die eerst geindexeerd moeten worden voordat je de resultaten krijgt. Het indexeren is niet altijd heel snel, maar als het eenmaal geindexeerd is werkt het wel bijzonder prettig. Bijkomend voordeel is dat aggregatiequeries (dat wil zeggen, het reduce-gedeelte van Map-Reduce) ook gecached wordt in de indexes, dat heeft grote voordelen ten opzichte van bijvoorbeeld SQL-databases (waar aggregatie in mijn ervaring relatief traag wordt).

(Als je dan toch, zoals MongoDB, voornamelijk in-memory dingen probeert op te slaan, kan je volgens mij beter voor Redis gaan.)

Ik ben in ieder geval erg tevreden over CouchDB. Het werken zonder SQL schema is enorm relaxed, je kunt gewoon veldjes gaan toevoegen als je iets nieuws bedenkt. De indexes zijn snel, zodat je snel veel data kan ophalen. Map-Reduce is even wennen, maar als je eenmaal zover bent kun je er goed mee uit de voeten. En een REST-API in plaats van moeilijke drivers maakt communiceren met de DB en debuggen van je queries wel een stuk makkelijker.

Wat voor effect de combinatie met Membase precies heeft weet ik niet, though...
Of meer dan twee paragrafen: http://en.wikipedia.org/wiki/NoSQL

Admin-edit:Doe even normaal.

[Reactie gewijzigd door RoD op 23 juli 2024 10:03]

denk ook dat er weinig verschillen zullen zijn, je hebt wel meer databases die json objecten gebruiken
intressant spul allemaal, heb me er alleen nooit aan durven wagen nog..

Op dit item kan niet meer gereageerd worden.