Hacker News new | past | comments | ask | show | jobs | submit login

Those are relational database features, not RDBMS features. The SQLite file format specifies a way to organize, store and retrieve fairly arbitrary data using a relational database model.

The library knows how to handle SQL to describe the work being done. The SQL is optional, one can, with the specification, read/write SQLite files in many other ways.

There are almost no RDBMS features in SQLite. There are many many other file formats that store data that offer features that are very similar to SQLite files: indexes, journaling, write logging, etc.

Thought question, you can ask a .tar file to give you a listing of what files and directories are stored in the file. Are .tar files RDBMSs? Consider:

1 - If you consider each file in the .tar file a "table" you can get list of tables.

2 - If each file follows a regular format, say JSON, you can search the "tables" by extracting the file and grepping it or using jq or whatnot.

3 - You can store a special file that is an index of some kind that lets you know in which file some data is, or even where in the file it is.

4 - You can build logic such that when you want to do other CRUD operations you can record a journal and a write ahead log to help build in ACID compliance.

5 - You can build buffer logic to support Write-ahead-logging, transactions and what not to improve performance.

Are .tar files RDBMSs? Trivially no.

But maybe, if you do all these things, you've invented a terrible database and database engine.

However, you need to build a server, user access controls, connection pooling, import/export tools, partitioning, clustering, etc. before you start to arrive at an RDBMS that uses this engine.




You're making some basic assumptions that do not make sense.

The database can be physically stored in any arbitrary format. One can build an RDBMS that stores all its data in tar or JSON files. No matter how inefficient as long as software exists that manages the database.

>Are .tar files RDBMSs?

This question doesn't make sense because you are asking if databases can be management systems which is obviously false by definition.

If the 5 steps you have described are implemented in software then that software would be considered an RDBMS and the .tar file clearly would be a database. There is no confusion.

>However, you need to build a server, user access controls, connection pooling, import/export tools, partitioning, clustering, etc. before you start to arrive at an RDBMS that uses this engine.

Those features are not necessary for a piece of software to be called RDBMS but most industry standard RDBMS do indeed support these features and SQLite clearly is an RDBMS that pursues a certain niche that only makes sense in certain situations.


> This question doesn't make sense because you are asking if databases can be management systems which is obviously false by definition.

Yes! And by extension the tar utility is not a DBMS even if it checks some of the boxes for one. And thus SQLite files are not RDBMSs. Looks like you and I agree.

> The database can be physically stored in any arbitrary format. One can build an RDBMS that stores all its data in tar or JSON files. No matter how inefficient as long as software exists that manages the database.

Sure! One can come up with all kinds of very terrible software. But what's the distinction between some random software that just allows CRUD operations on a file format and an RDBMS by your definition? Because you've defined something close to 100% of all software as an RDBMS which makes the distinction between software and RDBMSs meaningless.

There has to be something more than just that to be an RDBMS doesn't there?


Whilst .tar files are not an RDBMS. I can assure you that SQLite more than qualifies as a RDBMS.

Even the popular vote says it is: https://www.google.com/search?q=sqlite+rdbms




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: