On Tue, Oct 19, 2021 at 12:14 AM pslawek83 <pslawek83@o2.pl> wrote:
Hi Guys,
And everyone else too.
what's the state of "alternative" engines (aria and rocks). AFAIR there were some plans to make aria much more advanced than myisam, transactional (transaction safe?) and more optimized for todays hardware.
Aria is crash safe including DDL operations. I'm not aware of any work towards transactional or more optimized towards today's hardware. Show off a lack of optimization and it might get enough attention to be fixed. Did you have anything specific in mind where Aria isnt' doing well on todays hardware?
What's the status of RocksBD, basically on the mariadb website i can't find recent updates and most of sources on the internet are outdated. Is it 100% compatible with mariadb nowdays, is there a possibility to have "one-file-per-table" (one set of files) or at least per-database? If everything resides in shared space is there a possibility that one write error (eg. resulting from power loss) can make all rocks tables unreadable? Is it possible to efficiently drop eg. 100GB table partition if the table is using rocks?
Last time i checked there were some issues with compaction for Rocks (some limit on DB size, which was rather small can't recall this currently). Is that resolved, and how much additional space is required to compact eg. 1tb database?
I can't answer most of these questions.
How's the adoption and developement of both engines going? Are people using it instead of myisam/toku/inno? Is there a lot of effor put into making aria/rocks better? As i'll have to update many servers in the future what's generally the preferred way to go? Drop everything and just use innodb like Oracle did or move towards rocks/aria for everything which doesn't play with innodb well?
Slow is probably the current summary - esp MyRocks. Like most development it's largely triggered by user demand and available engineering skills/resources. Aria is being maintained and is further developed compared to MyISAM which is in a maintenance only mode. So Aria for archive read only data and InnoDB for general and write intensive load. RocksDB if there is a high requirement and the workload highly matches this.
Another interesting topic is that myisam is having performance issues because of spectre/meltdown mitigations and it seems to hit this engine the most (at least in 10.3, 10.4 as far as I recall).
Are there some plans to optimize it for new CPUs (maybe it was already done) or all the efforts are going into different storage engines and i should abandon myisam long term?
myisam -> aria is recommended. Almost all mitigations of spectre/meltdown were implemented at the firmware or kernel layer and introduced increased latency on some syscalls. In most cases the amount of syscalls was already minimised so there wasn't much avenue for improvement. If you have any implementation measures that show specific hot points, raise a bug report (with perf measurements) and those can be looked at. New CPUs mitigate spectre/meltdown by implementing CPU features without those side channel attacks. In theory there should be nothing to do at the application level.