
The Myth of Schema-less (2014) - winter_blue
http://www.planetcassandra.org/blog/the-myth-of-schema-less/
======
winter_blue
The last few paragraphs were really spot-on (at least for me):

" _... Even without our schema explicitly defined in our database, it’s there…
somewhere. You simply have to search through hundreds of thousands of lines to
find all the little bits of it. It has the potential to be in several places,
making it harder to properly identify. The reality of these codebases is that
they are error prone and rarely lack the necessary documentation. This problem
is magnified when there are multiple codebases talking to the same database.
This is not an uncommon practice for reporting or analytical purposes.

Finally, all this “flexibility” rears its head in the same way that PHP and
Javascript’s “neat” weak typing stabs you right in the face. There are some
somethings you can be cavalier about, and some things you should be strict
about. Your data model is one you absolutely need to be strict on. If a field
should store an int, it should store nothing else. Not a string, not a picture
of a horse, but an integer. It’s nice to know that I have my database doing
type checking for me and I can expect a field to be the same type across all
records. All this leads us to an undeniable fact: There is always a schema.
Wearing “I don’t do schema” as a badge of honor is a complete joke and
encourages a terrible development practice._"

I'm working on a codebase where I have to deal with both a schemaless database
and the dynamic typing nonsense of Javascript which exacerbates the nastiness
of the former, and creates a debugging hell.

