

Federico Razzoli: My 2019 Database Wishlist
source link: https://www.tuicool.com/articles/hit/RzARriq
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Last year I published my 2018 Database Wishlist , which Irecently revisited to check what happened and what didn’t. Time for a 2019 wishlist.
I am not going to list items from my 2018 list, even if they didn’t happen or they partially happened. Not because I changed my mind about their importance. Just because I wrote about them recently, and I don’t want to be more boring than I usually am.
External languages for MySQL and MariaDB
MariaDB 10.3 implemented a parser for PL/SQL stored procedures . This could be good for their business, as it facilitates the migration from Oracle. But it isn’t an answer to the community request of supporting external languages, like C or Python.
Oracle theoretically allows to use languages supported by GraalVM in MySQL. But unspecified legal problems seem to stop them from releasing this. In any case, unfortunately, this feature is only available on GraalVM.
External languages are really desirable. Antony Curtis wrote a patch for this years ago, but neither MySQL or MariaDB included it. Ronal Bouman wrote mysqlv8udfs , a UDF to run JavaScript code via Google Chrome’s JavaScript engine, but it was never included in MySQL or MariaDB.
Please, Oracle and MariaDB: do it. Don’t just start another discussion in a mailing list, do it for real.
ClickHouse without ZooKeeper
ClickHouse needs ZooKeeper to setup a cluster. ZooKeeper is based on the JVM and it’s hard to use. Having to use it because there is no alternative is alway quite annoying.
In their repo, there is a feature request to support Consul instead of ZooKeeper . To recap: the main problem is that they use some ZooKeeper unique features, but they plan to refactor the ZooKeeper client library, and after that it is possible they they will implement this feature.
I wrote about Consul some time ago, when I was a Percona consultant. I consider it a very good solution. The other alternative is etcd. It’s worth noting that, despite it being widely used, the CNCF still considers it as an incubating project .
Sphinx: implement JOINs
Sphinx seems to be forgot by many. It is not trendy anymore. There have not been cool titles on the tech sites involving Sphinx for years. So, is it slowly dying? No, it’s simply stable.
There are more trendy alternatives nowadays, yes. Like ElasticSearch and Solr. So why do I care about Sphinx? Well, first, it’s quite KISS (keep it simple, stupid!). It doesn’t have lots of features just because it was theoretically possible to implement them. Sorry for repeating myself, but basically… it’s stable. Second, it supports a subset of SQL, it’s kind of relational, and its language is compatible with MySQL. It could invent a new model and a new language that are supported by nothing else in the world, but they (and not many other modern database vendors) realised that it wouldn’t be a good thing.
But it misses JOINs. I don’t want to run complex JOINs on it, it will never be the right tool for that. Still, this would open more opportunities for Sphinx users. They always mentioned JOINs as something “currently missing”, so I still hope to see them implemented.
PostgreSQL: setup a real bug tracker
As Ialready mentioned, PostgreSQL doesn’t have a bug tracker. There is a mailing list. A problem that this surely causes is that it’s impossible to do structured searches – for example: get a list of confirmed bugs in version 11 involving foreign keys. I suspect there is another major problem: this could prevent some people from reporting bugs.
PostgreSQL is a great project, but please take bugs seriously.
Percona, be more conservative about your unique features
Every major version removes some features from the previous one. I understand why you do that, and I appreciate it. You want to keep the delta between Percona Server and MySQL as small as possible. If a feature is not used by enough customers, it implies some unjustified difference to maintain. I know that this policy is important to maintain your fork’s quality high.
Yet, I feel that you tend to remove too much stuff. Suppose I start to use a feature now and after some time I have to stop. If I think about it, I wish you didn’t implement it at all in the first place. So my point is not necessarily “maintain more features”, it could be “develop less features” as well.
Open source databases and cloud providers
We have read about some open source databases going proprietary because they spend money to innovate, while cloud providers simply take their customers away without giving anything in return. In particular, Amazon modifies open source software to create its own products, and sells them without paying the original vendors.
What can I say about Amazon… nothing, just a sarcastic “thank you”.
But I’ve something to ask database vendors. Do you know what MaxScale is? If not, it’s because this strategy of going proprietary is not as smart as you may think. Users will simply move away and forget you. Some of those users are paying customers. But even many of those who never paid you did contribute to your product – and indirectly, to your company’s incomes. How? With bug reporting, by writing technical contents about your products, by talking about how good your software is, etc. I don’t know of any estimation of how much these things contribute to a company’s economy, but I would be very interested in reading such a thing.
Federico
Recommend
-
56
What do you wish CSS could do natively that it can't do now? First, let's review the last time we did this in 2013. :x: "I'd like to be able to select an element based on if it contains another particular se...
-
33
Traitors gate, in the Tower of London. Finding the keys is very important, if you’re trapped in a place like this. In MySQL...
-
5
Federico Mena-Quintero Main :: Activity Log Boring news about Federico You may want to look at a
-
14
Mar 19, 2021 — 21:06 CUT MacStories Unwind: Federico Test Drives a High-End iPad Dock, We Recap Reviews of Panic’s Nova and Sofa, and the Sad, Perplexing HomePod News ...
-
10
Creator & Artist Stories How Federico Vigevani hit 10M subs in six year...
-
6
Episode 219 – May 19, 2021 Federico’s 2021 iPad Pro Review: Step into the Capture Zone 0:00 01:04:42 ...
-
8
Episode 228 – Jun 21, 2021 Federico’s Research and Note-Taking Setup 0:00 41:11
-
4
Transform 2021 Elevate your enterprise data technology and strategy. July 12-16
-
6
Mar 18, 2022 — 18:04 CUT MacStories Unwind: Federico’s Surprise
-
11
A cross-platform Text Expander written in Rust Visit the espanso website. What is a Text Expander? A text expander is a program that detects when yo...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK