Has any schema-agnostic database engine been implemented?
2 Answers
A very large one, the world wide web with highly scaled and optimized indexing by Google.com is the most distributed and robust schema-agnostic database known today. Without the schema-awareness Google brought to the table by applying more rigorous information science to the table, it was almost useless to those that did not know the URL of the target document in advance.
Schema agnosticism is another way of saying that the database cannot
- Provide meta information to the services accessing it,
- Normalize the structure using simple SQL query-insert combinations
- Proactively optimize the keys automatically as is now possible with machine learning, or
- Validate insertions
Without first detecting a schema from data patterns. Moving away from structure is appealing because you can just jam data in like a librarian without a book shelf. However, the data scientist will point out that adding entropy working alongside thermodynamic devolution into stochasm.
The purpose of storing data is to be able to retrieve it. Feature extraction is an opportunity to improve structure automatically during the storing structure, rather than store documents chaotically, a trend that will not lead anywhere good for the world of IT.
Consider whether Google is successful because it organizes its data as it crawls or later as we enter key phrases. Which is the efficient sequence?
One more point, Wikipedia is a blog, and they know this, which is why they want peer review for everything now (after much of the information was added without peer review). It is a good place to find lists but not verified facts. The existence of a Wikipedia page is definitely not an indication of the value of the concept on it.
- 7,543
- 1
- 28
- 63
You could be interested in orthogonally persistent systems. You could look at them as schema-agnostic database systems whose data fits entirely in RAM (remember also 1980s Smalltalk or Lisp Machines or Prolog ones and 1994 GrassHopper OS) or at least in virtual memory. With that approach, even SBCL almost fits in your wish, since it has save-lisp-and-die. Look also into frame based systems and object databases. Read also a good operating systems textbook and see past discussions archived on tunes.org.
Shameful self promotion: My bismon system (work in progress in summer 2019) claims to be a GPLv3+ orthogonally persistent system applied for static source code analysis of IoT software. But you might reuse most of it for other kind of orthogonal persistence (of frame based data).
- 822
- 8
- 17