Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Emner
  • Opret bruger
  • Log ind
Se kommentarer (6)
Emner

CouchDB - ikke en relationel database

Af Therese Hansen 4. december 2008 kl. 11:10

Databaser er altså usexede. Det er ikke det de unge vil have - altså med mindre man pakker det ind i nogle sexede ting som f.eks. en REST-indpakket service skrevet i Erlang.

Det er netop det som CouchDB er. I den kedelige ende fortæller ophavsmanden Damien Katz at ideen til CouchDB kommer fra Lotus Notes, som Damien har arbejdet på i et tidligere job hos IBM. CouchDB er en dokument-orienteret database, som er designet til at være distribueret og fejltolerant. CouchDB er altså ikke en relationel database, men heller ikke søjle-orienteret (eller hvad siger man på dansk?) database som Googles BigTable.

Databasen strukturerer data i views ved hjælp af Javascript "queryes" - Javascript er default, men også Python, PHP og Ruby kan bruges (så må der da være noget de unge vil have).

På projekthjemmesiden understreges at CouchDB ikke er en erstatning for relationelle databaser, men en database, som er god i specifikke brugssituationer - situationer som Damien Katz blandt andet snakker lidt om i et videointerview på InfoQ.

Nu er CouchDB så kommet på min TODOliste over ting jeg skal lege med, når jeg bliver færdig med specialet - databaser er alligevel et af de emner, som jeg synes universitets-undervisningen skøjter let hen over. Jeg hører at undervisningen på DAIMI (datalogi Århus Uni) for tiden er baseret på DB2 - måske skulle de overveje at udvide pensum med et par andre alternativer?

Fordelene ved at CouchDB er skrevet i Erlang er lidt tågede for mig - er der evt. nogle Erlang-eksperter derude der kan forklare det lidt nærmere? Damien nævner det vist i videointerviewet på InfoQ, men går ikke i detaljer.

Send Tweet
Udskriv
Billede af Therese HansenOm Therese Hansen

Therese Hansen er medstifter af it-firmaet Monzoom og blogger om softwareudvikling og startups. Hun bruger sin tid på at rejse og at arbejde på firmaets første produkt xiive.com - en social medie-filtreringsservice.

Follow @qedtherese

Kommentarer (6)

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Søren Hilmer 4. dec. 2008 - 13.31
 
Erlang

Du får jo en del forærende ved at vælge Erlang til den type opgave.
Fx fejltolerance og concurrency (på den rigtige måde uden shared-state), samt en nem distributions mekanisme.

Jeg har leget lidt med CouchDb og det er ret cool, en god beskrivelse jeg har set er:

RDBMS er statisk data med dynamiske queries
CouchDb er dynamisk data med statiske queries

Der godt afspejler, at queries er noget man designer som en del af sin applikation (i stedet for skemaer) idet det er en dyr operation at ændre/tilføje disse senere, hvis man har mange dokumenter i sin database.

Relax!

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Finn Knudsen 4. dec. 2008 - 16.06
 
Lotus Notes er også cool

Hvorfor mener du det er den kedelige ende?

"I den kedelige ende fortæller ophavsmanden Damien Katz at ideen til CouchDB kommer fra Lotus Notes"

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Therese  Hansens billede
Therese Hansen 4. dec. 2008 - 17.27
 
Re: Lotus Notes er også cool

Lotus Notes er tung og usexet set med mine øjne - og jeg har siddet hos IBM og skulle "bare" bruge Notes som email-program og dokumentdelingsprogram.

Jeg ved ikke om det var en speciel gammel version jeg sad med, men den var både tung, fejlbehæftet og svær at debugge. Jeg sad på brugersiden af Notes i 3 år, men jeg vil da ikke udelukke at jeg havde mere kærlige følelser overfor Notes, hvis jeg havde siddet på udviklersiden.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Troels Arvin 4. dec. 2008 - 20.21
 
Interessante databaser

(Har endnu ikke set/hørt interviewet.)

"Dokument-orienteret database" er egentlig en uheldig betegnelse, idet den umiddelbart henleder tankerne på et journal-system hvor hvad som helst kan proppes ind sammen med nogle metadata (og hvor man yderligere kan være heldig at systemet er i stand til at trække tekst ud til fuldtekstindekseringen). Det er jo ikke tilfældet med CouchDB, så vidt jeg kan forstå: Der er visse formater som skal overholdes.

Jeg synes ikke umiddelbart, at CouchDBs database-egenskaber er særlig interessante. Mere interessant er det at den antagelig benytter Erlangs faciliteter til at skabe effektiv replikering og stor robusthed. Og et indbygget REST interface til databasen er også en god idé; de etablerede databaseproducenter kunne faktisk lære noget her, synes jeg: Jeg tror, det i mange sammenhænge kunne være praktisk til simple queries.

DB2: Mange steder undervises der i pessimistisk låsning, hvilket DB2 er én af de få resterende eksponenter for. Så på den måde kan den godt give god mening at benytte DB2. (DB2's medfølgende kontrolcenter er noget hø, men man kan jo tilgå den på andre måder). På DB2s featureliste er også opdatérbare views, hvilket jeg ville prioritere hvis jeg skulle undervise i databaser. Endelig er det min oplevelse at DB2 er i spidsen mht. "semantisk query optimering", hvis underviseren skulle have lyst til at bevæge sig ud i dét felt.

Men det er klart, at adskillige andre databasesystemer kunne komme i betragtning som undervisnings-databaser. Fx. PostgreSQL, fordi den har ret god standard SQL understøttelse og fordi den er så let at udvide for programmerings-glade studerende: Den distribueres som open source, og der er allerede et hav af sprog som kan anvendes i den, server-side.

(Gid InfoQ ville lægge deres interviews ud som lydfiler, og ikke kun som videofiler - så kunne man slippe for at rippe lyden ud til MP3-afspilleren.)

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Troels Arvin 4. dec. 2008 - 20.34
 
Re: Interessante databaser

I øvrigt:

De mest horisont-ekspanderende database-lignende sprog/systemer, jeg stødte på som studerende var Prolog og ConfigIt's PML. Omend de måske kan siges mere at være VIDENSbaser end DATAbaser.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer
Søren Hilmer 4. dec. 2008 - 22.17
 
Re: Interessante databaser

Ja i CouchDb er et document et json object, men der tillades attachments, som kan være, hvad som helst.

Fulltext indeksering virkede engang (jeg tror det var før v. 0.5), men der er lavet for meget om siden uden den del er vedligeholdt. Planen er at lave en reference implementation baseret på Apache Lucene, men det er planlagt til v1.0 og v0.9 er først lige ved at blive releaset.

  • Stem op 0
  • Stem ned 0
  • Log ind eller opret en konto for at skrive kommentarer

Tilføj kommentar

Opret en konto eller log ind for at følge indhold på Version2 - og bliv opdateret via e-mail eller rss

Følg kommentarer
Log ind herunder eller opret en bruger for at skrive kommentarer
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?

Seneste nyt

Konklusion af Polsag-review fra 2009: Elendig kode hånd i hånd med elendig kontrakt

Udgivet 10. feb 6.59Opdateret 10. feb 6.59

It skal spare kommunerne for 165 millioner kroner i 2012

Udgivet 9. feb 16.02Opdateret 9. feb 16.02

Adobe: Vi laver ikke Flash til Android-udgaven af Chrome

Udgivet 9. feb 15.15Opdateret 9. feb 15.15

Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

Udgivet 9. feb 14.22Opdateret 9. feb 15.12

EMC lægger flash-cache på PCIe-kort: 4.000 gange hurtigere end harddiske

Udgivet 9. feb 13.39Opdateret 9. feb 13.39
Flere it-nyheder »
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Seneste debat

  1. Opdateret liste over danske iværksættere

    2 comments.
    Last update 3 timer 20 minutter
    Skrevet af Therese Hansen
  2. Stop SOPA, PIPA, ACTA, TPP og alle dem der kommer efter

    50 comments.
    Last update 7 timer 41 minutter
    Skrevet af Bjarne W. B. Petersen
  3. Derfor bliver dårlige it-projekter ikke stoppet i tide

    1 comment.
    Last update 8 timer 5 minutter
    Skrevet af Kasper Jørgensen
  4. Grotesk jobinterview i 2007: »Tag ikke jobbet, vi får alligevel aldrig Polsag til at virke«

    17 comments.
    Last update 8 timer 13 minutter
    Skrevet af Claus Waldersdorff Knudsen
  5. Så oldnordisk er politiets it-miljø: Nostalgisk gensyn med 1980’erne

    6 comments.
    Last update 8 timer 15 minutter
    Skrevet af Simon Justesen
  6. Domæne-forening: Lov om .aarhus og .cph var for tynd

    9 comments.
    Last update 9 timer 6 minutter
    Skrevet af Jarle Knudsen
  7. ACTA er i orden!

    51 comments.
    Last update 11 timer 39 minutter
    Skrevet af Jarle Knudsen
  8. It-advokat: Nu går grænsebommene ned over internettet

    10 comments.
    Last update 13 timer 25 minutter
    Skrevet af Niels Elgaard Larsen
Mere debat »

Information

  • Kontakt redaktionen
  • Job- og annoncesalg
  • Teknisk support
  • Om Version2
  • Brugerbetingelser
  • Privatlivspolitik

Aktuelle emner

  • Agil udvikling
  • Android
  • Bruttolønsordning
  • Business Intelligence
  • Cloud computing
  • Digitaliseringsstyrelsen
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Lion
  • Open source CMS
  • Projektledelse
  • Scrum
  • Sharepoint intranet
  • Storage
  • Ubuntu 11.10
  • Virtualisering
  • Windows 8
  • Windows Phone 7
  • iOS 5
  • iPhone 4S

Tjenester

  • Android-app
  • iPhone-app
  • RSS-feeds
Følg @version2dk
Få it-nyheder og blogs hver dag med Version2's nyhedsbrev.

Version2 udgives af

  • Mediehuset Ingeniøren A/S work Skelbækgade 4 1717 København V
  • Tlf. work 33265300