4 ms·
Not only is possible, happens all the time. Is because the abstraction level of a database engine is different of a core language. Is possible to build a perf
by mamcx 13y ago
Not only is possible, happens all the time.
Is because the abstraction level of a database engine is different of a core language.
Is possible to build a performant database systems without understand what is a BTree, or how is different from a Black tree or a hash. (I suspect, from my experience, that a lot of DBAs and database-focused developer have not much clue on that low-level stuff).
In fact, is not only possible, but build a good database is the job of the people that build good databases. But how archive that, is different from how build a performant algorithm (is more about how layout the data, how index it, how build the querys, analyzing the plans... but mainly, how layout the data)
In my life I have never ever ever think in the low-level implementation of a index as a key point in how build a database system.
(However, I will be glad in know a example in where this could provide a huge advantage)
- timr 13y agoI know it's possible to build a performant system without knowing how it works, it just isn't deterministically likely. There's also a difference between "building a database", and "using a database". I'm not suggesting that people who write SQL should be able to write a DBMS (though that certainly helps) -- just that they should know, for example, how a B-tree index will most likely perform when joining two large tables. Or how storing a text column is different than a string. And so on. I've spent a lot of time cleaning up the messes of people who can write SQL -- sometimes, on large, heavily-used systems -- but had absolutely no idea why their multi-way joins were slow, or why doing LIKE queries over a large text column is a performance hit. These are stupid problems that anyone with basic CS knowledge can understand how to avoid. Aside: this is also the reason why fans of certain trendy technologies (...rhymes with bongo...) are routinely pilloried for making dumb technical decisions. Those who don't understand CS in theory are doomed to learn it in practice.