5. @mtnygard (Michael Nygard) på QCon SF Half of the interest in NoSQL is scalability, half is getting away from passing schema changes through the DBA
Jeg heter Knut Haugen og jobber til daglig i Itera Consulting. Jeg skal snakke smidige og støle databaser.
- definisjon. En hel mengde forskjellige databasetyper samlet under en paraply-betegnelse, som har som fellesnevner at de ikke har joins, har lettere transaksjonslogikk, og ikke har SQL som query language. NoSQL representerer en hel mengde nye valg for database. Relasjonsdatabaser er ikke lenger det eneste alternativet.
RDBMS er generelle og brede, NoSQL-databaser har veldig smalt fokus og til dels liten sweetspot. Vanvittige krefter på ett spesielt område, men kanskje ubrukelig på en del annet. Du må finne den som passer.
RDBMS har schema som gir deg trygghet, validering og kontroll. Men også treghet og stivhet og lavere endringstakt )spesielt i DBA-tunge organisasjoner). Schema-løs database gir deg større frihet, men med stor frihet kommer stort ansvar. Hold orden selv!
Sitat fra Qcon San fransisco for noen uker tilbake.
En prototype-vennlig database som lar deg snu deg fort rundt for å sjekke om ideen din passer. - Lett å endre(schema) - Alt kan styres fra kode - scripting av dataoperasjoner
Friksjonsfri testbarhet gir smidighet for utvikleren. Legg inn data og sett i gang. - tett på dataene - oversiktlige api'er, enkle å stubbe om det trengs - IDE-støtte for å jobbe mot databasen. - scripte migrering Styr opprettelse og sletting enkelt fra koden. ingen tung serverprosess å bryte med.
Eksempel på testbarhet, med enkel setup og teardown av en testbase, med tester. MongoDB. En grov løsning, javisst, men det er i det minste mulig. Oversiktlige API'er som mockes enkelt. Utvikler sitter tett på dataene, og har full IDE-støtte for jobben med å jobbe mot databasen.
Endringsvillighet er viktig i prosjekter der markedet og produktgrunnlaget endrer seg under føttene dine, mens du er i fart. Er softwaren og databasen lite endringsvillig, taper du. Det er realisering av forretningsverdi det handler om, og tiden det tar fra ideen kommer opp til koden er live, må være kort. Smidighet fra hvordan vi forholder oss til det. En annen måte å arbeide på.
En liten oppfordring
Jeg heter Knut Haugen og har snakket om smidigere databaser. Takk for meg!