Support more MySQL database engines

Hi,

I am using TT-RSS with MySQL with TokuDB engine instead of InnoDB engine. But TT-RSS does not allow this in his sanity check (Link to source /include/sanity_check.php#L34) . So I changed that hard coded now in:

table_schema = ? AND table_name LIKE 'ttrss_%' AND engine NOT IN ('InnoDB','TokuDB')");

Which works fine for me.

I use TokuDB now for years as a drop in replacement for InnoDB. Link to TokuDB Wiki (which I am not allowed to post). This saves about 10 times on disk while speeding up 4 times compared to InooDB.

So it would be nice that we could have a setting where we have a list of supported engines? Maybe there are more engines supported that you do not know.

Like:

	define('DB_MYSQL_SUPPORTED_ENGINES', 'InnoDB,TokuDB');

I am happy to make a PR for it.

I’m not interested in increasing my mysql related ttrss workload by testing against yet another source of future incompatibilities.

I’d rather drop mysql altogether tbh.

From https://mariadb.com/kb/en/tokudb/

TokuDB has been deprecated by its upstream maintainer. It is disabled from MariaDB 10.5 and has been been removed in MariaDB 10.6 - MDEV-19780. We recommend MyRocks as a long-term migration path.

Support more MySQL database engines

You must be new here.

This is the first time TheYOSH has posted — let’s welcome them to our community!

Oh. Hey welcome.

This saves about 10 times on disk while speeding up 4 times compared to InooDB.

Have you compared mysql storage space to postgresql? Have you explored compression options in postgresql? Comparing toku to inno isn’t giving you the full picture.

You can continue with mysql but, as indicated by the author already, mysql is “tolerated” at best in tt-rss.

noooo he’s going to ask for myrocks then (whatever that is)

Not that you asked, but to save everyone else looking it up

Via Wikipeedia:

MyRocks is open-source software developed at Facebook in order to use MySQL features with RocksDB implementations. It is based on Oracle MySQL 5.6.

Now I suppose you want to know what RocksDB is?

a high performance embedded database for key-value data It is a fork of LevelDB by Google optimized to exploit many central processing unit (CPU) cores, and make efficient use of fast storage, such as

Gee, Alice! A rabbit hole!! LevelDB?

LevelDB is an open-source on-disk key-value store written by Google fellows Jeffrey Dean and Sanjay Ghemawat.[2][3] Inspired by Bigtable

Bigtable, for those who've yet to come across it...

… is a compressed, high performance, proprietary data storage system built on Google File System, Chubby Lock Service, SSTable (log-structured storage like LevelDB) and a few other Google technologies.

And that’s your lot for buzzword bingo today.

You’re welcome.

:laughing:

That was fantastic! Thanks.

I know I’m risking a ban (hi fox!) but I sure wish this forum had some internet points or gold or whatever. You most definitely earned it, that was fantastic.

lol … Ain’t dat da truth! ;->
.

I feel a bit hostile environment, and no! I will NOT ask for myrocks… I am pretty capable of patching code as I proposed to make a pull request. I only have to change 1 line.
And TokuDB it is a drop in replacement so that means for you nothing to test. It behaves exactly as InnoDB. But it is clear… you are not a MySQL fan…

Also, I can confirm Postgress uses more space!! About 3 times MORE!. So TokuDB is better in compression… oh wait… that is not fair… Postgress DOES NOT HAVE compression… hmm, that sounds like a good system…

So, I wish you all biased postgress people fun on bashing new people… Luckily I do have some manners…

I was surprise by this affirmation, but postgres have builtin compression :

The compression technique used for either in-line or out-of-line compressed data is a fairly simple and very fast member of the LZ family of compression techniques. See src/common/pg_lzcompress.c for the details.

https://www.postgresql.org/docs/current/storage-toast.html

I have learn something, thx

oh! that, i think, is definitely something that we need in tt-rss.

The software has Likes but they’re disabled here.

Probably for the better. (When my ‘home’ forum trialed Discourse (before getting banned from using it by Jeff), that was one of the aspects we, err, broke…)

/OT

Sorry for derailing this topic even further, but how can you get banned from using GPL-licensed software? :thinking:

He told us to stop using it.

He even offered money if needed to get us off it. (We didn’t take it.)

TLDR: We adopted Discourse to get us off Community Server, even though it was in “Beta.” Alpha would better describe it at that point in time. Since ours is a programmer/software oriented forum, we did some rather rudimentary QA on it and found it lacking.

Feedback, while abrasive, was constructive.

He didn’t take to the constructive criticism, nor the increasing abrasiveness that came about as a result of his intransigence.

We’re using NodeBB now. Their devs were rather more accepting of us (we tend not to bother them much now - because there’s nothing to bother them much with.)

e: I’m still banned until the year 2290.

(i’m fully aware that i should be the last person to have opinions about internet communities, if only based on this forums pervasive reputation as a “toxic shithole”)

anyway, i strongly believe that people should be forced to participate in a discussion, even if they have nothing much to add other than agreeing or disagreeing with someone else.

when you have a silent never posting majority moderating content based on whatever criteria, usually it’s some kind of group-specific consensus, opinions which go against this consensus are punished, discourse is stifled and community suffers massively as a result.

and when you add some kind of global social score on top of this already flawed model, you get something that’s even worse, i.e. sites like reddit[1], where almost every discussion is creepily dominated by subreddit-specific groupthink and every actual post radiates fakeness and desire to conform, as to not have this imaginary social score impacted.

someone quoting you with “lol” is much more meaningful than a +1 (or -1) appearing near your post. it simply weighs more because it’s closer to an actual human interaction.

  1. i have fully understood why reddit discussions are the way they are when at some point i managed to post something contrarian somewhere (imagine that, right) and - while i was being actively downvoted - the system also started enforcing delays between my posts, thus preventing me from defending my opinion (whether right or wrong, it doesn’t matter) so that group consensus is maintained.

This looks like an express way into a social media filter bubble. Thank you for highlighting the outcome of these mechanisms, I was not aware of.

Genius! Thank you. \20chars

Human interaction? Man… We’re really through the looking glass now. :smirk: