분류 전체보기 39

[Database] PostgreSQL - Index

지난 시간에는 PostgreSQL 에 대한 보안 정책에 대해 알아보았습니다. 이번 시간에는 PostgreSQL의 Index 에 대해 알아보겠습니다.개요아래와 비슷한 테이블이 있다고 가정해봅시다.CREATE TABLE test1 ( id integer, content varchar); 그리고 해당 테이블을 사용하는 애플리케이션 쪽에서 다음과 같은 쿼리를 수없이 요청했다고 가정해봅시다.SELECT content FROM test1 WHERE id = constant; 만약 기본적인 세팅만 되어있다면, 시스템은 모든 일치하는 항목을 찾기 위해 test1 테이블 전체를 한 줄씩 스캔해야 할 것입니다. test1 에 행이 많고 그러한 쿼리에 의해 반환되는 행이 몇 개에 불과하다면, 이것은 분명히 비효율..

Database 2024.07.18

[Database] PostgreSQL Commands - DCL

개요지난 시간에는 PostgreSQL 데이터베이스의 DML 에 대해서 알아보았습니다. 이번 시간에는 PostgreSQL의 DCL 및 권한 관리 부분에 대해서 알아보겠습니다.Privileges (권한)데이터 개체가 생성되면 해당 개체에는 소유자가 할당됩니다. 소유자는 일반적으로 생성문을 실행한 역할입니다. 대부분의 개체 종류에 대해 초기 상태는 소유자(혹은 슈퍼 어드민) 만 개체에 대한 모든 권한을 가지고 있습니다. 다른 역할에서 개체를 사용할 수 있도록 하려면 권한이 부여되어야 합니다. SELECT, INSERT, UPDATE, DELETE, TRUNKATE, REFERENCE, TRIGER, CREATE, CONNECT, TERIVE, EXECURE, USE, SET, ALTER SYSTEM 등등 다양..

Database 2024.07.18

[Database] PostgreSQL Commands - DML

개요지난 시간에는 PostgreSQL 데이터베이스의 DDL 에 대해서 알아보았습니다. 이번 시간에는 PostgreSQL의 DML에 대해서 알아보겠습니다.Inserting Data기본적인 문법은 다음과 같습니다.INSERT INTO products VALUES (1, 'Cheese', 9.99); 테이블의 열 순서와 반드시 일치하게 데이터를 작성해야하는 방식이기 때문에 불편할 수 있습니다. 다음과 같이 열 이름을 명시적으로 선언하여 해당 문제를 해소할 수 있습니다.INSERT INTO products (product_no, name, price) VALUES (1, 'Cheese', 9.99);INSERT INTO products (name, price, product_no) VALUES ('Cheese'..

Database 2024.07.17

[Database] PostgreSQL Commands - DDL

개요지난 시간에는 PostgreSQL의 간략한 개요와 특징에 대해서 알아보았습니다. 이번 시간에는 PostgreSQL에서 제공하는 SQL Commands 들을 알아보고 간략하게 실습해보는 시간을 가져보겠습니다.테이블 기초CREATE: 테이블, 인덱스, 뷰, 시퀀스 등과 같은 새로운 데이터베이스 개체를 만드는 데 사용됩니다.// 출처: https://www.postgresql.org/docs/current/sql-createtable.htmlCREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ STORAGE { PLAIN | EXTE..

Database 2024.07.15

[Database] RDBMS - PostgreSQL

개요이번 시간에는 RDBMS에 대해서 간략하게 알아보고, 그 중에서 PostgreSQL에 대해서 심도있게 파헤쳐보겠습니다.RDBMS란?RDB의 데이터 관리를 위한 다양한 기능을 제공하는 소프트웨어입니다. 다음과 같은 특징을 가지고 있습니다. Software LayerRDBMS 는 데이터베이스와 사용자 혹은 애플리케이션 사이에 존재하는 소프트웨어 입니다. 데이터, 데이터베이스 엔진 및 데이터베이스 스키마를 관리하여 데이터의 구성 및 조작을 용이하게 합니다. Functions and ServicesData Definition: 데이터베이스 구조 (테이블, 인덱스, View) 등을 정의하는 도구를 제공합니다.Data Manipulation: 데이터의 삽입, 업데이트, 삭제 및 쿼리가 가능합니다.Data Con..

Database 2024.07.10

[Database] NoSQL 이란?

NoSQL의 정의NoSQL 이라는 용어는 비관계형 데이터베이스 유형을 가리키며, 이 데이터베이스는 관계형 테이블과는 다른 형식으로 데이터를 저장합니다. 그러나 NoSQL 데이터베이스는 언어마다 관습화된 API, 선언적 구조의 쿼리 언어, 쿼리별 언어를 사용하여 데이터 관리를 할 수 있습니다. 이것이 바로 해당 데이터베이스가 not only SQL 데이터베이스라고 불리는 이유입니다. NoSQL 데이터베이스 사용처높은 확장성과 가용성이 주요 장점인 NoSQL 데이터베이스는 실시간 통신 및 빅 데이터에 주로 사용됩니다.이해 관계자로부터 요청되는, 다양하고 시시각각으로 변하는 요구 사항에 빠르게 적응함으로써 민첩한 개발 패러다임에 자연스럽게 활용되는 이점 때문에 DX 적으로 좋은 경험을 가지고 있습니다. NoS..

Database 2024.07.10

[Database] RDB

개요데이터베이스의 기초에 대해서 학습해봤던 지난 시간에 이어, 데이터베이스 종류 중에서 중요한 부분을 차지하고 있는 관계형 데이터베이스 (RDB) 에 대해서 알아보겠습니다. 관계형 데이터베이스, RDB 란?관계형 데이터베이스는 데이터가 하나 이상의 열과 행의 테이블(또는 '관계')에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로써, 데이터를 구성하는 정보 모음입니다. 관계는 이러한 테이블 간의 상호작용을 기반으로 설정되는 여러 테이블 간의 논리적 연결입니다. RDB 의 주요 개념구조테이블(Tables): RDB에서 데이터는 행과 열로 구성된 테이블에 저장됩니다. 각 테이블은 Business Entity(예: 고객, 주문)를 나타내며 테이블의 ..

Database 2024.07.04

[Database] 데이터베이스의 기초

개요다양한 종류의 개발 프로젝트를 진행하면서 뗄래야 뗄 수 없던 것이 있었습니다. 바로 데이터베이스입니다. 프로젝트를 진행하면서 이해 관계자 혹은 기획자의 비즈니스 요구 사항을 분석하고 이를 소프트웨어 요구 사항으로 분리, 그리고 데이터 스키마 설계를 하는 과정은 너무나 당연한 수순이 되었습니다. 하지만 RDB, NoSQL, In-memory DB 등등 다양한 형태의 데이터베이스를 알게 되면서 각각의 상황에 따라 적합한 형태의 데이터베이스를 선택하는 것이 Well-designed Architecture를 설계함에 있어서 매우 중요하다는 것을 깨닫게 되었습니다. 그에 따라 기존에 알고 있던 데이터베이스의 지식들을 정리해보고자 합니다. 데이터베이스란?데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으..

Database 2024.07.02

[WriterSide] Publishing and Access Control

개요 개발 중이던 프로젝트의 규모가 비대해지면서 문서화의 절실함을 느끼게 되었습니다. 그에 따라 다양한 문서 툴을 비교해보게 되었고, 실제로 사용해보면서 제가 느낀 각각의 특징은 다음과 같습니다.1. Notion 어찌보면 가장 보편적이고 강력한 문서툴이라고 할 수 있습니다. 기본적으로 제공해주는 다양한 템플렛들이 존재하고, 은둔고수들이 잘 정리해놓은 무료 템플렛 또한 여럿 존재하기 때문에 가장 먼저 후보에 올려놓은 문서툴이었습니다. 또한, 프로젝트 단위로 프라이빗한 공간에 작성하고 이를 한정된 사용자만 볼 수 있기 때문에 여러 팀원들과의 커뮤니케이션이 원활하였습니다. 허나, 한글을 사용하면 마지막 글자가 씹힌다거나, 네트워크 상태가 조금이라도 좋지 못하면 그 사이에 작성했던 문서들이 통으로 날아..

AWS 2024.04.24

Golang 입문기 - 문법 4

서론 이전 글까지 Golang에서 활용하는 타입에 대해서 공부해보았습니다. 이번 블로그를 끝으로 길고 길었던 타입에 대한 설명에 대한 마지막 투고가 될 것으로 예상합니다. Properties of types and values Underlying types (기본 타입들) 각 타입 T 에는 기본 타입들이 있습니다. T가 미리 선언된 Bool, 숫자 또는 문자열 타입 중 하나이거나 리터럴 타입이면 해당 기본 타입은 T 그 자체입니다. 그렇지 않으면 T의 기본 타입은 T가 선언에서 참조하는 타입의 기본 타입입니다. 타입 제약 조건의 기본 타입인 타입 매개 변수의 경우 항상 인터페이스입니다. type ( A1 = string A2 = A1 ) type ( B1 string B2 B1 B3 []B1 B4 B3 ..

Golang 2024.02.11