Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4Developers 2015: Kiedy, jak i po co migrować na NoSQL - Mariusz Gil

136 views

Published on

Speaker: Mariusz Gil

Language: Polish

Jeszcze kilka lat temu wzrosty popularności aplikacji czy ilości danych w bazach danych nie były spektakularne, w większości przypadków wystarczała minimalna konfiguracja popularnych serwerów SQL. Dziś, gdy największe serwisy internetowe liczą swoich użytkowników w setkach milionów, przed architektami systemów pojawiają się wyzwania, którym tradycyjne RDBMS często nie mogą sprostać. Migracja danych do nierelacyjnych systemów NoSQL często staje się jedyną z możliwych opcji. Na rynku istnieje już ok. 150 różnych rozwiązań, baz dokumentowych, kolumnowych, grafowych, key-value, eventowych… W trakcie sesji przybliżymy tematykę baz NoSQL i związane z nimi kluczowe pojęcia, jak choćby CAP theorem. Zapoznamy się także z najpopularniejszymi rozwiązaniami, ich przypadkami użycia czy wdrożeniami (w tym zakończonych porażką!). Spróbujemy także odpowiedzieć na pytanie, jakie możliwości oferują nam jeszcze bazy danych SQL, zanim zdecydujemy się na migrację do NoSQL.

4Developers: http://4developers.org.pl/pl/

Published in: Software
  • Be the first to comment

  • Be the first to like this

4Developers 2015: Kiedy, jak i po co migrować na NoSQL - Mariusz Gil

  1. 1. NoSQLWHY WHEN AND HOW Mariusz Gil
  2. 2. Data
  3. 3. Data size Transactions Response time
  4. 4. NoSQL!
  5. 5. Reasons
  6. 6. Data model
  7. 7. Linear scalability
  8. 8. Performance
  9. 9. id username 1 atermida 2 saturn 3 zeus … … user_id attribute_id value 1 342 1 2 342 2 3 343 3 … … … user_id attribute_id value 1 348 abc 2 348 abd 3 900 eee … … …
  10. 10. id username attr_1 attr_2 attr_3 1 atermida 1 2 saturn 2 3 zeus [1, 3, 4] … … … … …
  11. 11. Before migration
  12. 12. Master Reads / Writes
  13. 13. Denormalize
  14. 14. Replica Reads Replica Reads Master Writes*
  15. 15. Master Reads / Writes
  16. 16. Master F1 Reads / Writes Master F2 Reads / Writes
  17. 17. Master Reads / Writes Table
  18. 18. Master Reads / Writes Partitions Partitions
  19. 19. CREATE TABLE `partitioned` ( `id` bigint(20) NOT NULL, … ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PARTITION BY RANGE (TO_DAYS(created)) SUBPARTITION BY HASH (field) SUBPARTITIONS 8 ( PARTITION p201502 VALUES LESS THAN (TO_DAYS('2015-03-01')), PARTITION p201503 VALUES LESS THAN (TO_DAYS('2015-04-01')), PARTITION p201504 VALUES LESS THAN (TO_DAYS('2015-05-01')), PARTITION p201505 VALUES LESS THAN (TO_DAYS('2015-06-01')), PARTITION p201506 VALUES LESS THAN (TO_DAYS('2015-07-01')), PARTITION p201507 VALUES LESS THAN (TO_DAYS('2015-08-01')), PARTITION pX VALUES LESS THAN MAXVALUE );
  20. 20. Storage engines
  21. 21. Master Reads / Writes Archive partitions InnoDB Table
  22. 22. (auto) Sharding
  23. 23. Key value access
  24. 24. Supporttens of thousands skilled DBAs
  25. 25. Migration
  26. 26. ACID · CAP · BASE
  27. 27. Replicate Keep Calm and
  28. 28. CRASH itand test your disaster recovery plan
  29. 29. @mariuszgil Thanks!
  30. 30. it depends :)

×