Hacker News new | past | comments | ask | show | jobs | submit login

"1B+ rows in it with mysql?"

Been there, really no fun.




As long as you can shard (across multiple instances, or even within same instance, to avoid B-Tree latching), 1B+ rows within MySQL is piece of cake.

Also, MySQL* is getting LSM-Tree support lately, which makes high performance data ingestion combined with OLTP workload quite feasible.

* https://github.com/facebook/mysql-5.6/tree/webscalesql-5.6.2...


"I wonder how Uber adds an index to a table that already has 1B+ rows in it with mysql?"

"As long as you can shard "

Not sure how sharding helps with 1B+ tables when adding indices, care to share?


This is: "Split the index in your application code."

And then do your joins, in your application code.


Percona to the rescue [1]. Works flawlessly, at least in our case.

[1] https://www.percona.com/doc/percona-toolkit/2.1/pt-online-sc...


Am there right now, it's not really a problem - you just have to plan your schema changes and use Percona OST.


https://github.com/soundcloud/lhm

Saved my life a few time :)


Thanks!


Also been there. Percona Toolkit works fine (though it's not load-aware enough, so we changed the backfill logic).

Plus, in 5.7, there are a fair number of online-DDL changes, and adding indexes is (usually) one of them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: