{"id":46,"date":"2021-05-16T13:01:27","date_gmt":"2021-05-16T13:01:27","guid":{"rendered":"http:\/\/vargas-solar.com\/nonewsql\/?page_id=46"},"modified":"2021-05-16T13:01:27","modified_gmt":"2021-05-16T13:01:27","slug":"studying-data-sharding-using-mongodb","status":"publish","type":"page","link":"http:\/\/vargas-solar.com\/nonewsql\/studying-data-sharding-using-mongodb\/","title":{"rendered":"Studying Data Sharding using MongoDB"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Technical requirements<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>MongoDB 2.6.<\/li><li>File\u00a0cities.txt (already provided in the hands-on environment)<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Docker environment:<ul><li>\u00a0<a href=\"http:\/\/play-with-docker.com\/\">play-with-docker.com<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding\">Hands-on material<\/a>\u00a0(Github repository)<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#installation-and-configuration\"><\/a>1 Context<\/h2>\n\n\n\n<p>NoSQL databases started gaining popularity in the 2000s when companies began\u00a0investing and researching more into distributed databases. An important aspect of NoSQL databases is that they have no predefined schema. Records can have different fields as necessary. NoSQL databases, apart from using an Application Programming Interface(API) or query language to access and modify data, may also use the MapReduce method which is used for performing a specific function on an entire dataset and retrieving only the result.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Objective<\/h2>\n\n\n\n<p>The objective of this exercise is to illustrate the concept of\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Shard_(database_architecture)\">sharding<\/a>, a database partitioning technique for storing large data collections across multiple database servers. For this purpose, you will work with\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/MongoDB\">MongoDB<\/a>, a\u00a0<em>document oriented database management system<\/em>\u00a0supporting different sharding strategies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. To-Do List (full description accessing to  <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding)\" target=\"_blank\">https:\/\/github.com\/javieraespinosa\/dxlab-sharding)<\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#installation-and-configuration\">Installation and Configuration<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#introduction-to-mongodb--sharded-clusters\">Introduction to MongoDB &amp; Sharded Clusters<\/a><ul><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#mongodb\">MongoDB<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#sharded-clusters\">Sharded Clusters<\/a><\/li><\/ul><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#preparing-a-sharded-cluster\">Preparing a Sharded Cluster<\/a><ul><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#cluster-configuration\">Cluster configuration<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#inserting-and-querying-data\">Inserting and Querying data<\/a><\/li><\/ul><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#sharding-database-collections\">Sharding Database Collections<\/a><ul><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#range-based-partitioning\">Range Based Partitioning<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#hash-based-partitioning\">Hash-Based Partitioning<\/a><\/li><\/ul><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#balancing-data-across-shards\">Balancing Data Across Shards<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#guiding-partitioning-using-tags\">Guiding Partitioning Using Tags<\/a><\/li><li><a href=\"https:\/\/github.com\/javieraespinosa\/dxlab-sharding#uninstalling-if-locally-installed\">Uninstalling (if locally installed)<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Technical requirements MongoDB 2.6. File&nbsp;cities.txt (already provided in the hands-on environment) Docker environment: &nbsp;play-with-docker.com Hands-on material&nbsp;(Github repository) 1 Context NoSQL databases started gaining popularity in the 2000s when companies began&nbsp;investing and researching more into distributed databases. An important aspect of &hellip; <a href=\"http:\/\/vargas-solar.com\/nonewsql\/studying-data-sharding-using-mongodb\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-46","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/pages\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":1,"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/pages\/46\/revisions"}],"predecessor-version":[{"id":48,"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/pages\/46\/revisions\/48"}],"wp:attachment":[{"href":"http:\/\/vargas-solar.com\/nonewsql\/wp-json\/wp\/v2\/media?parent=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}