

Keep in mind that each row could (in theory) have a different structure.įrom json_demo, lateral flatten(v, recursive=>TRUE) a

Keith – Okay got it – with recursive you can see the entire structure of a JSON document (i.e., the content of the variant column). At the BIWA summit last week, several folks referred to that as using “curated” data designs. Once they are done with discovery, then can then “harden” their analysis and reports by extracting the data into actual tables and/or views for ongoing reports. If the customer wants to take advantage of the new elements in the documents, they can adjust their views and reports in the next sprint. And even when it does, as I described, the existing reports keep working regardless. While the source sending the JSON could of course change the schema, and occasionally does, that happens less often. Rather we have clients streaming/loading in JSON data from known sources so they can do exploration and analytics on the data quickly.

Since Snowflake is specifically a data warehouse service, we are not seeing this type of issue. In those cases I am not sure why they would bother with Oracle anyway and not just use MongoDB? They think they are being agile, but in the end they may shoot themselves in the foot. And I would call that a bad practice in most cases (other than maybe for prototyping). Unfortunately in the application development world there are people doing exactly as you say.
