Schemaless — The Dark Side
“ We store everything as JSON, that way we don’t worry about schema ” — #CowboyDeveloper You’ve probably heard some variation of the above too — probably from some of the more religious of the Schemaless crowd. Oh there are many good reasons for doing this — things like deferring decisions to the last responsible moment, being agile, and so forth. There is, however, a much darker — and sadder — possibility, that they just don’t get it . The thing is, a database schema defines it’s structure , the types/formats of data that are permitted, the relationships between them, their integrity constraints, etc. In relational databases, most of this is directly codified in the form of tables, views, indexes, triggers, and whatnot. What we tend to forget, however, is that all of these exist for a reason — they provide the rules , the framework if you will, of how we interact with the database. These rules need to exist somew...