Gå til hovedindhold
Version2 it for professionelle
Forsiden

Hovedmenu

  • It-nyheder
  • Blogs
  • It-job
  • It-firmaer
  • Whitepapers
  • Opret bruger
  • Log ind
Du kan logge ind med din e-mail-adresse
Der er forskel på store og små bogstaver i adgangskoden.
Glemt adgangskode?
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

Microsoft-dansker gør C#-udviklere klogere med nyt kodeværktøj

Udgivet 23. maj 16.03Opdateret 24. maj 16.08

Rygte: Microsoft lancerer Office til iOS i november

Udgivet 24. maj 15.33Opdateret 24. maj 15.33

Yahoos nye browser får uheldig start - lækker eget sikkerhedscertifikat

Udgivet 24. maj 14.52Opdateret 24. maj 14.53

Danske internetudbydere nægter at blokere 12 pokersites

Udgivet 24. maj 13.58Opdateret 24. maj 13.58

Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

Udgivet 24. maj 13.58Opdateret 24. maj 15.49

Flere it-nyheder »

Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Seneste debat

  1. Danske internetudbydere nægter at blokere 12 pokersites

    4 comments.
    Last update 10 minutter 24 sekunder
    Skrevet af Henrik Kramshøj
  2. Meego-afløseren Tizen klar til at tage kampen op med Android

    12 comments.
    Last update 49 minutter 2 sekunder
    Skrevet af Jacob Sparre Andersen
  3. Kynisk it-guru: »Internettet er basalt set noget lort«

    7 comments.
    Last update 56 minutter 5 sekunder
    Skrevet af Poul-Henning Kamp
  4. Oracle tabte, vandt Google Java ?

    16 comments.
    Last update 1 time 6 minutter
    Skrevet af Poul-Henning Kamp
  5. Yahoos nye browser får uheldig start - lækker eget sikkerhedscertifikat

    1 comment.
    Last update 1 time 16 minutter
    Skrevet af Thue Kristensen
  6. Dokumentation: Her er Spillemyndighedens krav - og 12 ulovlige pokersider

    3 comments.
    Last update 1 time 25 minutter
    Skrevet af Jens Larsen
  7. GOTO - programming with the stars (F#)

    9 comments.
    Last update 1 time 26 minutter
    Skrevet af Baldur Norddahl
  8. ESA arbejder på interplanetarisk internet

    5 comments.
    Last update 1 time 30 minutter
    Skrevet af Jarle Knudsen

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
  • Download Windows 8
  • HTML5
  • Harddisk-priser
  • IE9
  • Intranet
  • It-sikkerhed
  • Kindle Fire
  • Multimedieskat
  • NemID
  • OS X Mountain 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
Tilmeld dig Version2's it-nyhedsbrev og vind den nye iPad.

Version2 udgives af

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