3 ms·
> You might be surprised how many of the real world's distributed databases are basically sharding over local databases written in C I probably would be, most
by fiedzia 8y ago
> You might be surprised how many of the real world's distributed databases are basically sharding over local databases written in C
I probably would be, most of the ones I hear about or use aren't. When it comes to data storage, I work mainly with solr. Not only it doesn't have a line of C, if you were to study its domain there is no C equivalent. development and research is available in Java or Python,
and nearest native competitors ... are also not written in C.
> Would you rather study a mature query planner or an immature one?
If I were a student, I'd rather study one that will give some idea of what people will design when I will enter job market, using tools they will use.
> seeing how the mature one has developed over time is probably more instructive
maybe, but is also less relevant for the needs of current database market and subject of research.
> It was about learning what is needed to study existing systems.
Existing systems are written in variety of languages and C, while still significant, does not constitute majority. Recently created systems are mostly written in something else.
> Or maybe some of that 99% just don't know what they don't know, and that's the essence of Dunning-Krueger.
Or maybe those who teach C stay in their bubble and missed the fact that other things not only exist, but also took over market and mind share.
> any programmer who treats "those other layers" as magic is going to be handicapped relative to a programmer who knows something about them
Only if those things have any relevance to their job. If you go 2 or 3 layers below, any relevance is lost and we keep adding those layers.
> For example, knowledge I gained about cache-coherency algorithms very early in my career has come back to me again and again in contexts that were surprising to my colleagues who were never exposed to that stuff. They just thought it was magic, but it turned out to be magic that could be re-applied at a different layer for big wins.
So you provided some cache-coherency implementation and now they can use it without knowing how it is implemented, right? And spent their time on improving their product having the cache coherency as given? As it was magic?