<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Chulo✨</title>
    <description>The latest articles on DEV Community by Chulo✨ (@okoyevictorr).</description>
    <link>https://dev.to/okoyevictorr</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F809092%2Fc8d32fb5-176c-4486-898e-2eda1903aea5.jpg</url>
      <title>DEV Community: Chulo✨</title>
      <link>https://dev.to/okoyevictorr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/okoyevictorr"/>
    <language>en</language>
    <item>
      <title>UNDERSTANDING THE BASICS OF NOSQL DATABASE</title>
      <dc:creator>Chulo✨</dc:creator>
      <pubDate>Mon, 04 Apr 2022 20:51:04 +0000</pubDate>
      <link>https://dev.to/okoyevictorr/understanding-the-basics-of-nosql-database-1ca2</link>
      <guid>https://dev.to/okoyevictorr/understanding-the-basics-of-nosql-database-1ca2</guid>
      <description>&lt;h2&gt;
  
  
  What Is 'NOSQL'?
&lt;/h2&gt;

&lt;p&gt;Simply No/Non Structured Query Language [SQL].&lt;br&gt;
It Can Also Be said to be 'Not Only SQL'.&lt;/p&gt;

&lt;p&gt;A NoSQL Database is a mechanism for storage and retrieval of data, it is saved in JSON documents instead of columns and rows used by relational databases. NoSQL databases are used in real-time web applications and huge data. They may support SQL-like queries as well. That is why it is sometimes referred to as Not only SQL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--37zFJD_O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t2nuvqfx5wyy75gfylsg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--37zFJD_O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t2nuvqfx5wyy75gfylsg.jpg" alt="NoSql" width="880" height="939"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A Brief History Of NoSQL
&lt;/h2&gt;

&lt;p&gt;"NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL developed at least in the beginning as a response to web data, the need for processing unstructured data, and the need for faster processing. The NoSQL model uses a &lt;em&gt;distributed database system&lt;/em&gt;, meaning a system with multiple computers. The non-relational system is quicker, uses an ad-hoc approach for organizing data, and processes large amounts of differing kinds of data. For general research, NoSQL databases are the better choice for large, unstructured data sets compared with relational databases due to their speed and flexibility.&lt;/p&gt;

&lt;p&gt;Limited SQL scalability has prompted the industry to develop and deploy a number of NoSQL database management systems, with a focus on performance, reliability, and consistency. The trend was driven by proprietary NoSQL databases developed by Google and Amazon. Eventually, open-source systems like MongoDB, Cassandra, and Hyper-table brought NoSQL within reach of everyone. &lt;/p&gt;

&lt;h2&gt;
  
  
  Storage Type
&lt;/h2&gt;

&lt;p&gt;NoSQL uses data{JSON} storage optimized for specific purposes. Normally, NoSQL stores data in one of four categories:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Key-Value storage&lt;/li&gt;
&lt;li&gt;Document storage&lt;/li&gt;
&lt;li&gt;Wide Column storage&lt;/li&gt;
&lt;li&gt;Graph database&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4RPwNawv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q8xnfc69v4it841b8cui.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4RPwNawv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q8xnfc69v4it841b8cui.jpg" alt="four categories" width="514" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A key-value database[Storage] is a type of nonrelational database that uses a simple key-value method to store data. A key-value database stores data as a collection of key-value pairs in which a key serves as a unique identifier. Both keys and values can be anything, ranging from simple objects to complex compound objects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Document Store, also called a Document-Oriented Database, is similar to Key-Value Stores, but differ in the way the data gets processed, is a system designed for storage, retrieval, and managing “document-oriented information,” which is also referred to as semi-structured data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Wide-column database is a type of NoSQL database in which the names and format of the columns can vary across rows, even within the same table. Wide-column databases are also known as column family databases. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Graph Database is essentially a collection of relationships. Each memory (a node) symbolizes an entity (a business, person, or object). Each memory/node is connected to another. The connection is called an “edge” and represents a relationship between two nodes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  List of Common NoSQL Databases
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DLzdW1yW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsuw7qfv8q8rhqm6gi9a.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DLzdW1yW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xsuw7qfv8q8rhqm6gi9a.jpeg" alt="examples" width="645" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MongoDB: open-source and document-oriented NoSQL database. Uses JSON like documents to share the data and is written in C++.MongoDB is a very popular and highly scalable database.&lt;/p&gt;

&lt;p&gt;REDIS: stands for &lt;em&gt;Remote Dictionary Server&lt;/em&gt;. It is composed in ANSI C language, authorized under BSD, and is famous for a key-value store. Its an open-source database. It is an in-memory but persistent on-disk database.&lt;/p&gt;

&lt;p&gt;Amazon DynamoDB: uses a NoSQL database model, allows documents, graphs &amp;amp; columnar amount of data models.&lt;/p&gt;

&lt;p&gt;Cassandra: it was developed at Facebook for inbox search. It is a distributed data storage system to handle large amounts of structured data. Cassandra is written in Java. It offers Cassandra Query Language (CQL), a SQL-like language for querying the Cassandra Database.&lt;/p&gt;

&lt;p&gt;Apache HBase: distributed and non-relational Hadoop database ideally suited for storing Big data. Designed for the BigTable database by Google etc .&lt;/p&gt;

&lt;p&gt;Neo4j: It is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing.&lt;/p&gt;

&lt;h1&gt;
  
  
  When To Use NoSQL
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;HANDLING OF DIFFERENT FORMS OF DATA&lt;br&gt;
A NoSQL database enables developers to handle and evolve the structure of several different forms of data efficiently. NoSQL databases are better designed to handle, store, and model structured, semi-structured, and even unstructured data in a single database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you are required to follow modern software development practices, in your work place or open source contributions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NEED FOR A FASTER PACE OF DEVELOPMENT&lt;br&gt;
If you need to fast-track your application development, NoSQL may be your best choice. The pace of development with NoSQL databases is a lot faster than with an SQL database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you are using schema-less data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope this article has helped you to have a better understanding of the NoSQL database and the various terms related to it. Thank you for reading.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Node.JS Architecture</title>
      <dc:creator>Chulo✨</dc:creator>
      <pubDate>Sat, 12 Mar 2022 02:50:55 +0000</pubDate>
      <link>https://dev.to/okoyevictorr/nodejs-architecture-42nk</link>
      <guid>https://dev.to/okoyevictorr/nodejs-architecture-42nk</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Node.js?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ilLhpdo8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i0zyohga0rzdxzoczhpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ilLhpdo8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i0zyohga0rzdxzoczhpt.png" alt="description" width="747" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Node.js is an open source server environment platform built on Google’s Chrome JavaScript Engine which runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.) using JavaScript on the server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Question May Arise, Why do we use Node?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is light, scalable and uses event-driven architecture and non-blocking (asynchronous) tasks that run on a single thread.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m0JkqX6p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1l50moybxzkqfj7vpfqz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m0JkqX6p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1l50moybxzkqfj7vpfqz.jpg" alt="description" width="638" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Interesting Terminologies In Node.JS Architecture&lt;/strong&gt;&lt;br&gt;
NodeJS incorporates a pipeline architecture in order to efficiently interpret input data and produce the corresponding  output.   It  follows  a  very  modular  structure,  but  re-mains  tightly  coupled  to  its  libraries,  particularly  the  V8 engine. Some features we can observe is seen in the way Node.js Handles Requests&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requests&lt;/strong&gt;&lt;br&gt;
NodeJS receives multiple client requests and places them into EventQueue, NodeJS has its own EventLoop which is an infinite loop that receives requests and processes them. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e66KaDkR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32i1w2m70vumi77y6pd7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e66KaDkR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32i1w2m70vumi77y6pd7.jpg" alt="description" width="591" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thread Pool&lt;/strong&gt;&lt;br&gt;
A Pool allows you to create a set of workers and queue worker calls. The queued tasks are pulled from the queue and executed as previous tasks are finished.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EventQueue&lt;/strong&gt;&lt;br&gt;
The event queue is built into the operating environment that hosts the Javascript interpreter. It isn't fundamental to Javascript itself so it's not part of the actual JS runtime, but rather something made available to the Javascript environment by the host. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event Loop&lt;/strong&gt;&lt;br&gt;
The Event Loop receives incoming requests, processes them, and then returns/Outputs the responses to the corresponding clients indefinitely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Node.Js Server&lt;/strong&gt;&lt;br&gt;
The task of a web server is to open a file on the server and return the content to the client. Node.js has a built-in module &lt;br&gt;
called HTTP, which allows Node.js to transfer data over the Hyper Text Transfer Protocol (HTTP).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EYUBOQ7f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1tp41joa5dswfhhlg6oe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EYUBOQ7f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1tp41joa5dswfhhlg6oe.jpg" alt="description" width="575" height="270"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;This Image Describes The Workflow Experienced Using Node.js.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Advantages Of Working With Node.Js&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Node.js allows developers to use JavaScript to create server-side code, even though traditionally, this language has only been used in the browser to develop client-side code. Combining both sides in the same environment makes it easier to create web servers, which is why Node.js popularity as a handy tool for writing server code has skyrocketed. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Node.js offers an Easy Scalability&lt;br&gt;
One of the key advantages of Node.js is that developers find it easy to scale the applications in horizontal as well as the vertical directions. The applications can be scaled in horizontal manner by the addition of additional nodes to the existing system. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Node.js is used as a Single Programming Language&lt;br&gt;
Node.js offers the developers the luxury of writing the server-side applications in the JavaScript. This allows the Node.js developers to write both the front-end as well as the back-end web application in JavaScript using a runtime environment.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oAki4cBN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bq282rwcqbxgwvhnck4v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oAki4cBN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bq282rwcqbxgwvhnck4v.jpg" alt="description" width="281" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Node.js Is Best Suitable for;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time web applications&lt;/li&gt;
&lt;li&gt;Streaming applications&lt;/li&gt;
&lt;li&gt;Messaging apps&lt;/li&gt;
&lt;li&gt;Chat programs&lt;/li&gt;
&lt;li&gt;Social media apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All These Contribute To its popularity and growth amongst Developers.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
