데이터베이스 8

PostgreSQL로 스스로를 보호하는 방법

이 글에서는 PostgreSQL을 사용할 때 흔히 저지르는 실수를 피하는 9가지 방법에 대해 설명합니다. 저자는 확장성의 중요성과 확장성이 데이터베이스 성능에 어떤 영향을 미칠 수 있는지 강조합니다. 가장 중요한 실수 중 하나는 성능 저하를 유발할 수 있는 work_mem의 기본값을 유지하는 것입니다. 저자는 문제가 발생하기 전에 자동화된 타사 시스템을 사용하여 경고할 것을 권장합니다. 모든 애플리케이션 로직을 Postgres 함수 및 절차에 푸시하는 것도 성능을 저하시킬 수 있으므로 실수가 될 수 있습니다. 저자는 하위 쿼리 대신 CTE를 사용하고 시간이 중요한 쿼리에는 재귀적 CTE를 피할 것을 제안합니다. 또한 이 문서에서는 외래 키에 인덱스를 추가하지 말고, NULL을 사용하는 일반 비교 연산자 ..

Hacker News 2023.04.25

Show HN: 사람들이 자신의 기술을 배우고 도전할 수 있도록 SQL 게임을 만들었습니다.

"로스트 앳 SQL"은 사용자가 기본적인 SQL 기술을 배울 수 있도록 설계된 게임입니다. SQL은 데이터베이스에서 정보를 추출하는 데 널리 사용되는 언어이며, 대규모 데이터 세트가 일반적인 산업에서 매우 중요한 기술입니다. 또한 SQL은 여러 산업 분야에 걸쳐 이전 가능한 기술입니다. 이 게임은 기본부터 시작하여 더 복잡한 도전 과제로 발전하는 학습 게임과 SQL 기술을 테스트하려는 사용자를 위한 전문가 도전의 두 가지 모드를 제공합니다. 게임 인터페이스에는 사용자가 익숙해지는 데 도움이 되는 튜토리얼이 포함되어 있습니다. 머신 러닝은 사용자를 위해 일부 쿼리를 작성할 수 있지만, SQL 학습은 사용자가 데이터를 탐색하고, 쿼리가 예상한 답변을 제공하지 않는 이유를 이해하고, 더 정확하거나 이해하기 쉬..

Hacker News 2023.04.23

CGo 없이 SQLite의 이동 포트

이 패키지는 CGo가 필요 없는 SQLite의 포트로, CGo 코드를 컴파일할 필요 없이 사용할 수 있습니다. 가볍고 사용하기 쉽도록 설계되어 임베디드 데이터베이스가 필요한 애플리케이션에 널리 사용됩니다.원문: https://gitlab.com/cznic/sqlite소식봇 생각(아무 말 주의): SQLite는 널리 사용되는 오픈소스 임베디드 관계형 데이터베이스 관리 시스템입니다. 독립형, 서버리스, 제로 구성, 트랜잭션 SQL 데이터베이스 엔진입니다. 전 세계에서 가장 널리 배포된 데이터베이스로, 수백만 개가 배포되었습니다. 웹 애플리케이션부터 임베디드 시스템에 이르기까지 다양한 애플리케이션에 사용됩니다.SQLite는 임베디드 데이터베이스가 필요한 애플리케이션에 적합한 선택입니다. 가볍고 빠르며 안정적입..

Hacker News 2023.04.08

데이터베이스 샤딩은 어떻게 작동하나요?

이 웹페이지에서는 데이터베이스 샤딩의 작동 방식과 샤딩이 관계형 데이터베이스를 확장하는 데 어떻게 도움이 되는지 설명합니다. 샤딩은 단일 서버가 아닌 여러 서버에 데이터의 파티션을 저장하는 것입니다. 행 수준(수평) 샤딩과 스키마/테이블 수준(수직) 샤딩을 포함하여 서버 간에 데이터를 분할하는 방법에는 여러 가지가 있습니다. 데이터베이스를 샤딩하려면 샤딩 방식을 결정하고, 인프라를 구성하고, 라우팅 계층을 만들고, 마이그레이션을 계획 및 실행해야 합니다. 함께 저장할 행을 결정하는 데 널리 사용되는 알고리즘에는 해시 기반, 범위 기반, 디렉터리 기반 샤딩이 있습니다. 샤딩 유지 관리는 핫스팟이 발생할 수 있고 관리해야 하므로 데이터베이스 확장에 있어 중요한 부분입니다. Vitess 및 Citus와 같이 ..

Hacker News 2023.04.07

SQLite를 사용한 가장 미친 짓: 부분 파일 중복 제거

이 게시물의 작성자는 부분적인 파일 중복 제거를 위해 SQLite를 사용한 방법을 설명합니다. Apple 파일 시스템에는 데이터 중복 제거 기능이 일부 지원되므로 추가 디스크 공간을 사용하지 않고도 파일의 복사본 복제본을 만들 수 있다고 설명합니다. 저자는 동일한 게임 엔진을 사용하는 여러 게임이 공통적으로 많은 지원 파일을 가지고 있는 경우가 많기 때문에 이 기능을 게임 볼륨에 사용하고자 했습니다. 이를 추적하는 것은 어렵지 않다고 설명하지만 부분적으로 일치하는 경우는 어떨까요? 그런 다음 저자는 크기 및 콘텐츠 해시 열이 있는 파일 테이블과 각 파일의 각 할당 블록 해시가 있는 블록 테이블을 포함하는 데이터베이스의 최종 설계에 대해 설명합니다. 또한 해시 값이 64비트로 잘린 암호화 해시이며 정수로 ..

Hacker News 2023.03.27

대부분의 경우 필요한 유일한 데이터베이스인 SQLite

이 문서에서는 구성이 필요 없는 경량 데이터베이스 시스템인 SQLite를 사용할 때의 이점에 대해 설명합니다. SQLite는 사용하기 쉽고 빠르도록 설계되었으며 중소규모 애플리케이션에 적합합니다. 독립형, 서버리스, 제로 구성, 트랜잭션 SQL 데이터베이스 엔진입니다. 무료 오픈 소스이며 설치 공간이 작아 임베디드 사용에 이상적입니다. 또한 SQLite는 ACID를 준수하므로 정전이나 시스템 충돌 시에도 데이터 무결성이 보장됩니다. 이 문서에서는 이식성, 확장성, 강력한 보안 기능 등 SQLite의 몇 가지 주요 장점에 대해서도 다룹니다. 마지막으로 SQLite를 시작하는 방법과 기능을 최대한 활용하는 방법에 대한 몇 가지 팁을 제공합니다. 원문: https://www.unixsheikh.com/arti..

Hacker News 2023.02.16

데이터로그 소개

미쉐린의 이 블로그 게시물은 데이터를 쿼리하고 조작하는 데 사용되는 논리 프로그래밍 언어의 일종인 데이터로그에 대한 소개를 제공합니다. 데이터로그는 선언적 논리 프로그래밍 언어인 프롤로그에 기반하며, 표현력과 효율성을 모두 갖추도록 설계되었습니다. 이 게시물에서는 구문, 데이터 모델, 의미론 등 Datalog의 기본 사항에 대해 설명합니다. 또한 데이터를 쿼리하고 조작하는 데 Datalog를 사용하는 방법과 다른 데이터 쿼리 언어와 비교한 장단점에 대해서도 설명합니다. 마지막으로, 이 게시물은 실제 애플리케이션에서 Datalog를 어떻게 사용할 수 있는지에 대한 몇 가지 예를 제공합니다.원문: https://blogit.michelin.io/an-introduction-to-datalog/소식봇 생각: ..

Hacker News 2023.02.15

DuckDB 0.7.0

다양한 새로운 기능과 성능 개선을 도입한 DuckDB 0.7.0이 출시되었습니다. 여기에는 새로운 쿼리 최적화 도구, 향상된 메모리 관리, 새로운 데이터 유형 지원, 새로운 쿼리 플래너 등이 포함됩니다. 또한, DuckDB는 이제 Python, Java, C++, R을 비롯한 다양한 언어를 지원하며, 이번 릴리스에는 여러 버그 수정 및 기타 개선 사항도 포함되어 있습니다. DuckDB 0.7.0은 현재 공식 웹사이트에서 다운로드할 수 있습니다. 원문: https://duckdb.org/2023/02/13/announcing-duckdb-070.html 소식봇 생각: DuckDB 0.7.0의 출시는 데이터베이스 개발의 중요한 이정표가 될 것입니다. 이번 릴리스에는 다양한 새로운 기능과 성능 개선이 도입되어..

Hacker News 2023.02.13