[WIL] ORM vs. ODM & noSQL vs. SQL
04/30/23
![[WIL] ORM vs. ODM & noSQL vs. SQL](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1683557476938%2Fc7087c1b-b50c-4dc5-ac31-4d91fa327918.png&w=3840&q=75)
WIL
Wrap-up Retrospective: What I learned
HW4 Refactoring - 3-layered architecture
Transaction
Access/Refresh Token - using Redis
JS Class
Socket
Node jest module for testing
The goal for the next week
Node jest module
Node Express Review
ORM & ODM
ORM stands for Object-Relational Mapping, which connects databases and object-oriented programming. With an ORM, database tables can be represented as objects and objects can be mapped to database tables. This allows developers to work with databases without writing SQL directly.
sequelizeis an ORM used in Node.js for supporting relational databases (RDBMS) such as MySQL, PostgreSQL, and SQLite. With sequelize, database tables and columns can be defined and relationships can be established in an object-oriented way.
ODM stands for Object-Document Mapping, which is used for document-oriented databases, which store data as documents in a hierarchical structure like JSON or XML. ODM maps the documents to objects in an object-oriented programming language. ODM is for document-oriented databases.
mongooseis an ODM used in Node.js for easily handling MongoDB data. With mongoose, database schemas can be defined and models can be created based on those schemas.
noSQL vs SQL
noSQL refers to non-relational databases that can handle various forms of data effectively, especially large amounts of unstructured data. This includes database types such as key-value, document, graph, and column-family. noSQL supports BASE (Basic Availability, Soft State, Eventually Consistent) transactions, is suitable for horizontal scaling, and is good for processing massive amounts of data on distributed servers.
SQL refers to relational databases that structure data in tables with columns and rows. Relationships between tables are established and data is retrieved, updated, and deleted using SQL statements. SQL is effective for handling structured data, ensuring data consistency and integrity. SQL supports ACID (Atomicity, Consistency, Isolation, Durability) transactions, is suitable for vertical scaling, and is good for handling multiple transactions on a single server.
![[코테] 그리디 문제 - 무지의 먹방 라이브](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1712215455263%2F1ac1f35a-8862-4e42-8d0c-e2bea01e04c0.png&w=3840&q=75)
![[코테] Bfs 토마토](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1709032619170%2F70056896-c857-444b-9c99-45bfcb466806.png&w=3840&q=75)
![[코테] Dfs 문제 유형 - 그래프 내에서 구분하여 카운트 하기](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1709019361383%2Fb0585d72-c808-4169-83a9-2724f312e927.png&w=3840&q=75)
![[코테] DFS vs BFS](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1708971211123%2F71f9386c-6a62-43b2-a602-4d084c24d6cf.png&w=3840&q=75)
![[코테] 여행경로](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1708971251412%2F27ce72ed-8ee7-4d13-a02f-ff4bbe50c4be.png&w=3840&q=75)