Database highload solutions<br />Observing. Comparing. Conclusion.<br />Only free products.<br />
Intro<br />What we need?<br />
Demands<br />High performance <br />Scalability<br />Durability<br />Complex analytic/statistics queries<br />
Products types<br />NonSql Databases<br />Pro:<br /><ul><li>High performance
High scalability
Document oriented</li></ul>Contra:<br /><ul><li>Impossibility to perform typical web queries</li></ul>SQL Databases<br />P...
Well known
Any complex queries</li></ul>Contra:<br /><ul><li>Not enough performance
Scalability*</li></ul>*For observed database <br />
Competitors<br />NON Sql Databases<br />MongoDB<br />Redis, Memcache*<br />SQL Databases<br /><ul><li>MySql and Clones
Postgres</li></ul>* Key-value storage like memcacheDB<br />
Scaling strategy<br />Theory<br />
 Scaling Strategy<br /><ul><li>Scale back and Scale up.</li></ul>Partitioning : split your tables.<br />Replications: Exte...
Scale Back and Scale Up<br />What?<br />Scale Back – remove/archive unused data.<br />Scale Up – add more power(RAM,CPU) ,...
Partitioning<br />What?<br />Partitioning – split tables to logical parts by same criteria's.  <br />When?<br />You have b...
Replications<br />What?<br />Copying(sync or async) data from “master” server – to “slaves”(or other Master). The idea – r...
Sharding<br />What?<br />Split database into many smaller databases.<br />There are:<br />Vertical sharding<br />Horizonta...
Vertical sharding<br />What?<br />Split database into many database(servers) by functionality<br />When?<br />You have tab...
Horizontal sharding<br />What?<br />Split a big table into many servers<br />When?<br />You have a huge table and it too b...
Solutions<br />Propositions<br />
Mysql<br />
Mysql Clone: Percona<br />Background: Pecona company.<br />
Upcoming SlideShare
Loading in …5
×

Database highload solutions

1,361 views

Published on

Its' unfinished slide show about free database highload solutions

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,361
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Database highload solutions

  1. 1. Database highload solutions<br />Observing. Comparing. Conclusion.<br />Only free products.<br />
  2. 2. Intro<br />What we need?<br />
  3. 3. Demands<br />High performance <br />Scalability<br />Durability<br />Complex analytic/statistics queries<br />
  4. 4. Products types<br />NonSql Databases<br />Pro:<br /><ul><li>High performance
  5. 5. High scalability
  6. 6. Document oriented</li></ul>Contra:<br /><ul><li>Impossibility to perform typical web queries</li></ul>SQL Databases<br />Pro:<br /><ul><li>Sql language
  7. 7. Well known
  8. 8. Any complex queries</li></ul>Contra:<br /><ul><li>Not enough performance
  9. 9. Scalability*</li></ul>*For observed database <br />
  10. 10. Competitors<br />NON Sql Databases<br />MongoDB<br />Redis, Memcache*<br />SQL Databases<br /><ul><li>MySql and Clones
  11. 11. Postgres</li></ul>* Key-value storage like memcacheDB<br />
  12. 12. Scaling strategy<br />Theory<br />
  13. 13. Scaling Strategy<br /><ul><li>Scale back and Scale up.</li></ul>Partitioning : split your tables.<br />Replications: Extend your servers farm and split ‘Insert/update/delete’ and ‘select ’ queries to Master/Slave(s) .<br />Sharding : split your databases.<br />
  14. 14. Scale Back and Scale Up<br />What?<br />Scale Back – remove/archive unused data.<br />Scale Up – add more power(RAM,CPU) , disks.<br />When?<br />When you can.<br />Your database get benefits from that.<br />Changes in application:<br />No<br />
  15. 15. Partitioning<br />What?<br />Partitioning – split tables to logical parts by same criteria's. <br />When?<br />You have big table(s) which utilize the biggest part of traffic.<br />Your queries ask only some parts of information.<br />How?<br />Database do it work for you clearly for your application.<br />Changes in application:<br />No<br />Example:<br />You can have millions commentaries but in 99% you show only latest of them. <br />
  16. 16. Replications<br />What?<br />Copying(sync or async) data from “master” server – to “slaves”(or other Master). The idea – read from slave, write to master.<br />When?<br />You have much more “read” traffic then “write” one.<br />How?<br />Databases have tools/solutions for replication.<br />Changes in application:<br />Not big<br />
  17. 17. Sharding<br />What?<br />Split database into many smaller databases.<br />There are:<br />Vertical sharding<br />Horizontal sharding<br />
  18. 18. Vertical sharding<br />What?<br />Split database into many database(servers) by functionality<br />When?<br />You have tables which functionalities do not cross.<br />How?<br />You will split them manually.<br />Changes in application:<br />Not so big<br />Lacks<br />No more “JOINS” between these tables<br />Example:<br />Commentaries table utilize 90% of traffic. Shard it vertically and move the table onto a separate server.<br />
  19. 19. Horizontal sharding<br />What?<br />Split a big table into many servers<br />When?<br />You have a huge table and it too big for one server.<br />How?<br />You will split them manually.<br />Changes in application:<br />A lot<br />Lacks<br />No more “JOINS” between this table and other. No more ‘dumb’ queries for the table.<br />Example:<br />You have billions users. Split the table into few servers. Each server will contains same table but with different data.<br />
  20. 20. Solutions<br />Propositions<br />
  21. 21. Mysql<br />
  22. 22. Mysql Clone: Percona<br />Background: Pecona company.<br />
  23. 23. Mysql Clone: MariaDB<br />Background: Michael “Monty” Widenius –founder of Mysql.<br />
  24. 24. Mysqlvs Clones<br />
  25. 25. Postgres<br />Background: Scape.<br />
  26. 26. The Best MysqlvsPostgres<br />
  27. 27. MongoDB<br />Background: Scape.<br />
  28. 28. Key-value storages<br />Background: Scape.<br />

×