전체 글119 [SQL] Redis Redis- 오픈 소스 인메모리(in-memory) 데이터 저장소: 메모리에 저장&값을 읽기 때문에 디스크에서 읽는 것보다 훨씬 빠르다 (trade-off: 디스크에 저장하면 큰 용량 저장 가능 / 메모리는 용량 적으나 속도 빠름) - Key-Value 데이터베이스 방식으로 동작하는 NoSQL 데이터베이스- 빠른 속도와 유연성을 제공하여 대부분 SQL 데이터베이스와 함께 사용 - 캐싱(Cache), 세션 저장(Session Store), 메시지 브로커(Message Broker) 등의 용도로 많이 사용 Cashing(캐싱) 자주 사용되는 데이터를 더 빠른 저장소에 임시 저장 -> 성능 향상 ex) 온라인몰에서 상품 목록 페이지: 사용자가 방문할 때 마다 PostgreSQL과 같은 DB에서 데이터를 .. 2025. 3. 11. [SQL] MongoDB MongoDB- Document(JSON형태) 데이터베이스(데이터를 Document 단위로 저장) - 비관계형 데이터베이스(Non-Relational Database): JSON 형식의 유연한 문서 구조를 사용하여 저장 - Foreign Key 등의 개념이 없음 - 스키마 변경이 잦은(구조를 예측할 수 없는) 데이터를 다루는 프로젝트에 유용 2025. 3. 11. [SQL] PostgreSQL Extensions Extension(확장 기능) SELECT * FROM pg_available_extensions;-- 가능한 확장 기능 확인SELECT * FROM pg_extension;-- 활성화된 extension 확인HStore- Key-Value 저장을 위한 확장 기능 - 비구조화된(스키마 없는) 데이터 저장 가능 - JSON과 비슷한 Key-Value 데이터 구조를 제공하나, 더 빠른 처리 가능 JSON: nested 데이터 구조 가능(중첩 가능) HStore: key-Value only CREATE EXTENSION hstore;-- hstore 활성화 CREATE TABLE users ( user_id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, prefs.. 2025. 3. 11. [SQL] PostgreSQL JSON columns MySQL, PostgreSQL은 JSON 형태로 데이터를 칼럼에 저장하고 다룰 수(검색, 수정 등) 있다 ex) 배달앱: 다양한 메뉴에 각기 다른 옵션이 존재. 데이터가 어떤 형태인지 알 수 없다(SQL 테이블을 만들기 어렵다) JSON: 텍스트 그대로 저장 JSONB: 바이너리 형식으로 저장 CREATE TABLE users ( user_id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY, -- GENERATED ALWAYS AS IDENTITY: Auto-increment profile JSONB );INSERT INTO users (profile) VALUES('{"name": "Taco", "age": 30, "city": "Budapest"}.. 2025. 3. 10. [SQL] Data Control Language Data Control Language (DCL)- 데이터베이스에서 사용자 권한을 관리하고 보안을 설정하는 SQL 명령어 - 누가 데이터에 접근할 수 있는지, 어떤 작업을 수행할 수 있는지를 컨트롤 ex) 마케터 동료를 위한 user를 따로 만들어 -> PostgresSQL 테이블에 연결 -> 적당한 권한을 부여 CREATE USER user1 IDENTIFIED BY 'password123';-- user1이라는 새로운 유저를 만들고 비밀번호를 'password123'으로 설정GRANT SELECT, INSERT ON employees TO user1;-- user1에게 employees 테이블의 SELECT 및 INSERT 권한을 부여REVOKE SELECT, INSERT ON employees.. 2025. 3. 10. [SQL] Transaction Data Integrity(무결성) - 은행, 항공사, 온라인 티켓 예매 시스템 등 기밀 데이터를 다루는 산업에서 중요한 개념 - 위 산업들은 모두 transaction을 사용 Transaction - 여러 개의 SQL 구문을 그룹화 -> 모든 변경사항을 데이터베이스에 적용(all or nothing; 그 중 하나라도 에러가 있으면 적용X) ex) 은행 송금 업무: 출금계좌와 입금계좌의 데이터 업데이트가 동시에 이루어져야 한다 - 데이터의 consistency(일관성)를 유지 - 오류 발생 시 Rollback을 통해 데이터를 원래 상태로 되돌릴 수 있음 - 4가지 특성(ACID)을 만족해야 Atomicity(원자성): all or nothing Consistency(일관성): tran.. 2025. 3. 10. 이전 1 2 3 4 ··· 20 다음