database
-
벡터 데이터베이스 특징 및 장점database 2024. 2. 21. 22:09
현대의 데이터 분석과 탐색 과정에서 데이터는 비정형이며 고차원적인 형태로 발생하는 경우가 많습니다. 이에 대응하기 위해 새로운 형태의 데이터베이스가 필요해졌고, 그 중 하나가 바로 "벡터 데이터베이스"입니다. 벡터 데이터베이스는 데이터를 고차원 벡터 형태로 저장하고 처리하여 탐색과 분석을 효율적으로 수행할 수 있는 혁신적인 도구입니다. 벡터 데이터베이스란? 벡터 데이터베이스는 데이터를 고차원 벡터 형태로 저장하고 관리하는 데이터베이스 시스템입니다. 각 데이터 항목은 특징 벡터(feature vector)로 표현되며, 이러한 특징 벡터를 기반으로 데이터 검색, 분류, 군집화 등의 작업을 수행할 수 있습니다. 주요 특징과 장점 다차원 데이터 지원: 벡터 데이터베이스는 다차원 데이터를 효율적으로 저장하고 처리..
-
RDB에서 foreign key를 사용해야될까?database 2023. 9. 22. 23:21
Foreign key는 한 테이블의 컬럼이 다른 테이블의 키를 참조하는 경우 사용됩니다. foreign key를 사용하는 이유 FK를 사용하는 이유는 참조 무결성을 위해서입니다. 외래키로 지정된 컬럼 데이터가 부모의 기본키 외 다른 값을 가질 수 없기 때문에 DB 자체에서 무결성을 높여주는 장점이 있습니다. foreign key를 사용하지 않는 이유 이론상으로는 FK를 써야하지만 실제로 실무에서는 FK를 잘 사용하지 않는 추세입니다. 이유는 데이터 정합성을 따져야 하기 때문에 성능의 이슈가 있을 수 있습니다. 또한 스키마 변경시 FK에 의한 제약이 있어 유지보수가 어려운 점이 있습니다. 아래 글을 읽어보시면 도움이 될 것 같습니다. https://github.com/github/gh-ost/issues/..
-
SQL - COUNT() 함수 사용법database 2023. 9. 22. 23:06
SQL에서 row의 개수를 리턴해주는 함수로 COUNT가 있습니다. COUNT 표현 방법에 따라서 여러가지 결과를 받을 수 있습니다. 이렇게 4개의 row가 있는 player 테이블이 있다고 해보겠습니다. id name score 1 james 95 2 curry 80 3 harden 80 4 jokic NULL 1. COUNT(*) SELECT COUNT(*) FROM player; 결과는 4를 리턴합니다. 테이블의 모든 row 숫자를 리턴합니다. 2. COUNT(score) SELECT COUNT(score) FROM player; 이번에는 3을 리턴합니다. score의 값이 null이 아닌 값을 리턴하기 때문에 결과가 3입니다. 3. COUNT(DISTINCT score) SELECT COUNT(D..
-
DB - 데이터 삭제database 2022. 9. 6. 01:13
DB에서 데이터를 삭제하는 방법은 크게 두가지가 있습니다. 1. hard delete 2. soft delete hard delete는 SQL에서 DELETE 명령어를 사용하여 데이터를 삭제하는 방법입니다. soft delete는 UPDATE 명령어를 통해 삭제 여부를 판단하는 컬럼값을 업데이트 해주는 방법입니다. 개발할 때는 soft delete를 많이 사용합니다. 삭제한 데이터를 복구해야 할 경우도 있고 나중에 사용될 수도 있다는 생각에서 보통 soft delete를 합니다. 삭제 여부를 판단하는 컬럼은 deleted, delYn 등의 방식으로 boolean, Y/N 값을 가집니다. id name createdAt delYn 1 james 2022-01-01 Y 2 stephen 2022-03-03 ..
-
MySQL - timestamp 컬럼 시간 0으로 업데이트 (datetime to date)database 2022. 8. 11. 18:49
1. DATE_FORMAT 날짜를 지정한 형식으로 출력해주는 함수입니다. 2. DATE_FORMAT 구분 기호 구분기호 역할 %Y 4자리 년도 %y 2자리 년도 %M 긴 월 (영문) %m 숫자 월(두자리) %d 일자 (두자리) %T hh:mm:SS %H 시간(24시간) %S 초 https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions 12.7 Date and Time Functions This section describes the functions that can be used t..
-
Redis - value 사이즈 최대값database 2022. 7. 5. 18:36
Strings A String value can be at max 512 Megabytes in length. Lists The max length of a list is 2^32 - 1 elements (4294967295, more than 4 billion of elements per list). Sets The max number of members in a set is 2^32 - 1 (4294967295, more than 4 billion of members per set). Hashes Every hash can store up to 2^32 - 1 field-value pairs (more than 4 billion). https://redis.io/docs/manual/data-type..
-
DB - 샤딩(Sharding)과 파티셔닝(Partitioning)database 2022. 6. 16. 23:30
파티셔닝 performance, availability, maintainability를 목적으로 논리적인 데이터 엘리먼트들을 다수의 엔티티(table)로 쪼개는 행위 샤딩 수평 파티셔닝(horizontal partitioning) 같은 테이블을 여러 인스턴스에 나눠서 저장 예시) id 1~100은 1 번 샤드, 101~200은 2번 샤드 수직 파티셔닝 (vertical partitioning) 하나의 인스턴스에 여러 테이블에 나눠 데이터를 저장 예시) id, name, address 정보가 있을 때 id와 name 테이블, id와 address 테이블로 분리 샤딩의 장점 샤딩을 하면 쿼리를 여러 인스턴스로 분산해서 성능과 확장성을 얻을 수 있음