ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3. NoSQL
    글쓰기방/지식창고(비공개) 2016. 4. 8. 17:54

    I think that I am an old-fashioned person in the technology field now even though I worked as a computer engineer before. If I were an engineer in the “Big Data” era, I might not be alive. Anyway, I would like to talk about “NoSQL” today. (One of reasons I am an old-fashioned is I am not the generation of using NoSQL.) Before talking about this, let’s remind RDBMS quickly.

     

    [FYI] RDBMS (Relational Database Management System)

    >> The basis for SQL and DBMS (e.g., MS SQL Server, IBM DB2, Oracle, MySQL, Microsoft Access, and etc.)

    >> 4 categories of SQL

      -. DML (Data Manipulation Language): SELECT/INSERT/UPDATE/DELETE

      -. DDL (Data Definition Language): CREATE/ALTER/DROP

      -. DCL (Data Control Language): GRANT/REVOKE

      -. TCL (Transaction Control Language): BEGIN/COMMIT/ROLLBACK

     

    Whether you know RDBMS or not, there are specific forms to utilize RDBMS with SQL as you can see above. Then, how about NoSQL? According to Wikipedia (https://en.wikipedia.org/wiki/NoSQL), NoSQL originally referred to “non SQL” or “no relation”. And others have defined it as “not only SQL”. Following definition and features are from the “NoSQL” homepage and you can see more details about “NoSQL” on it.

     

    NoSQL DEFINITION: Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable.

     

    The original intention has been modern web-scale databases. The movement began early 2009 and is growing rapidly. Often more characteristics apply such as: schema-free, easy replication support, simple API, eventually consistent / BASE (not ACID), a huge amount of data and more. So the misleading term "nosql" (the community now translates it mostly with "not only sql") should be seen as an alias to something like the definition above.

     

    Those definitions show that there are no tables and relations and data objects are based on key/value pairs or tuples. In my perspective, the format of its structure is similar to “Hash Map” in programming languages. Keep in mind JASON if you know it. Recently, I've started to read the book of MongoDB and I will update about it asap. Personally, it would be better to update it for understanding "NoSQL" because there are various types of "NoSQL" DBs (you can see lots of "NoSQL" DBs on the "NoSQL" homepage I've shared above).

타인의 시선으로... Omniscient POV