4 ms·
That's the point - I did not need any database systems whatsoever for nearly everything I ever done. Besides hierarchical DBMSes for CADs - but that's a totally
by sklogic 12y ago
That's the point - I did not need any database systems whatsoever for nearly everything I ever done. Besides hierarchical DBMSes for CADs - but that's a totally different story, that's another area where RDBMSes fail miserably. There is no use for RDMBSes outside of the CRUD niche (which includes web, enterprise applications, and that's pretty much it).
I can't see any use for RDMBSes in the embedded world. No use for them in most of the data analysis tasks - stream storage works much better here. No RDBMSes in the system level (OSes, compilers, linkers, etc.). No RDBMSes in the scientific computing.
- SamReidHughes 12y agoWhy does iOS ship with SQLite then? I used it for an iPhone app that I wrote. It was more convenient than making my own flat file format. > No RDBMSes in the system level (OSes, compilers, linkers, etc.). OS X has them. Any OS with file search needs some kind of indexing technology. As do mail clients, web browsers, and a bunch of other stuff that works with data. It's a lot easier to add fast indexing after-the-fact when you didn't design up-front to use flat files.
- sklogic 12y agoAll the stuff you've mentioned is pretty niche, and, as someone mentioned somewhere above in this thread, mostly done this way by the cargo cultists who defiled the sacred Unix Way. Look at a typical Unix distribution, count how many packages depend on sqlite or berkeley db - a tiny proportion of a total number. And, no, file search and all that fancy UI stuff has absolutely nothing to do with OSes. It's an application level.
- rpedela 12y agoI used to think the same thing as much of my early career was spent in graphics. Then I got much more familiar with relational databases and realized I was an idiot. For example I spent about 3 months hand tuning code that read a quad from a TB sized image stored on disk into a GPU so it could analyzed by computer vision algorithms. Then I realized that using a DB would have been about as fast and I would have saved 3 months of time. Unfortunately I didn't realize this until I left graduate school. In conclusion, yes you often don't need a database and sometimes it is wrong tool but usually it saves you a lot of time because it is fast enough and general purpose enough.
- sklogic 12y agoHow exactly using an RDBMS would have helped accessing a plain two dimensional array?
- rpedela 12y agoAccessing is easy. Making it fast enough off disk to feed the beast (GPU) is not. The DB has already solved that problem and given a really simple interface: SQL. My hand tuned code was probably faster but not enough to warrant 3 months of effort. I should mention this was several years ago and on a laptop since that was what the researchers used who needed to analyze the data. So I couldn't really solve performance issues with more RAM, etc.
- sklogic 12y agoSorry, I cannot believe this. SQL faster than mmap?!? Something unheard of. And I really do not understand why it should take 3 months to write a single line with an `mmap` call.
- SamReidHughes 12y agoYep, "using mmap" is worse performance-wise than what database engines do. It's not a suitable interface for shoveling data onto disk in a manner such that you can say, "I am done writing this to disk," and "This file will never be in an inconsistent state in the event of kill -9 or powerloss," with maximum performance. Also, it's not enough to cry "use mmap," if you don't want a corrupted file. I think your antipathy towards relational databases has more to do with your unwillingness to learn how to use them than anything else. Otherwise you'd be capable of speaking with other people here on their level.
- sklogic 12y agoI'm pretty well aware of how to use RDBMSes. I even implemented RDBMS engines before. In this case, nobody is writing into a file, so mmap should have been a perfect solution.