- Intro to Database Systems : Schema Refinement - Functional Dependencies
- Common DB schema change mistakes | Database Lab · Instant clones of PostgreSQL databases · Postgres.ai
- Keeping track of database schema changes - DEV Community
- A Tiny Intro to Database Systems
- 누구나 바로 이해할 수 있는 데이터베이스 기초지식
- How to work optimally with relational databases
- The Wide World of Databases
- In memory database plus traditional database combination back end architecture pattern
- DISTRIBUTED SQL DATABASE FOR THE AGE OF DOCKER
- Aven is a code generator, create an .aven scheme file and the generator will iterate over your Database, tables and columns
- An Improved Private Mechanism for Small Databases
- Simplify: move code into database functions
- PROBABILISTIC M2M RELATIONSHIPS USING BLOOM FILTERS
- New course: Learn SQL interactively on Khan Academy
- Top 5 SQL and Database Courses to Learn Online
- SQLBolt, a series of interactive lessons and exercises
- Effective Micro-caching in Relational Database
- Graphs in the database: SQL meets social networks
- sqlfiddle.com
- Solving Sudoku with SQL
- Practical Persistence in Go: SQL Databases
- Why your query language should be explicit
- Advanced Queries With SQL That Will Save Your Time
- How to Build Advanced SQL. Building more maintainable, readable… | by SeattleDataGuy | Better Programming | Jul, 2020 | Medium
- The Sequel to SQL
- Thoughts on Time-series Databases
- DB 102: Database Orientation - Row vs. Column
- NewSQL vs. NoSQL for New OLTP
- Database expert on why NoSQL mattered — and SQL still matters
- SQL Style Guide
- SQL Commands Cheat Sheet - Download in PDF & JPG Format - Intellipaat
- How does a relational database work
- Generating MoM, YoY and CMGR from SQL
- Crab adds SQL to your command lin
- PizzaHack - Project from Maghimim 2015 camp for teaching about the SQL Injection vulnerability, and about SQL
- free.codebashing.com/courses/python/lessons/sql_injection 파이썬으로 대화형 sql injection test
- How I bypassed Cloudflare's SQL Injection filter
- Error-Based SQL Injection.. : 네이버블로그
- 웹 개발자를 위한 SQL injection 웹 해킹 보안 가이드
- A Scientific Notation Bug in MySQL left AWS WAF Clients Vulnerable to SQL Injection - GoSecure
- 데이터베이스 보안을 향상시키는 11가지 기술 - ITWorld Korea
- Welcome to the π-Base - A community database of topological examples with automated deduction and powerful search
- Yesquel: scalable SQL storage for Web applications
- FreeGeoDB - Free database of geographic place names and corresponding geospatial data
- RDBMS Genealogy
- "Transactions: myths, surprises and opportunities" by Martin Kleppmann
- #WDILTW – To use a RDBMS is to use a transaction
- DBMS는 어떻게 트랜잭션을 관리할까?
- Enterprise Architecting Series: Transaction Service · Present
- DB 트랜잭션 격리 수준 그림과 예시로 쉽게 이해하기 - 1편 | by 10x 개발자 | Aug, 2022 | Medium
- GalaXQL - Interactive SQL tutorial
- Learn SQL - Free Interactive SQL Tutorial
- SQL Tutorial for Beginners – Learn SQL Programming Online -Intellipaat
- (즐겁게 배우는 SQL) 기획 소개
- 즐겁게 배우는 SQL - YouTube
- (즐겁게 배우는 SQL #1) 정말 간단한 질의부터 시작하자
- (즐겁게 배우는 SQL #2) 행을 정렬하자
- (즐겁게 배우는 SQL #3) 데이터를 필터링하자 - Select Distinct
- (즐겁게 배우는 SQL #4) 데이터를 필터링하자 - where
- (즐겁게 배우는 SQL #5) 데이터를 필터링하자 - limit
- (즐겁게 배우는 SQL #6) 데이터를 필터링하자 - between
- (즐겁게 배우는 SQL #7) 데이터를 필터링하자 - in
- (즐겁게 배우는 SQL #8) 데이터를 필터링하자 - like
- (즐겁게 배우는 SQL #9) 데이터를 필터링하자 - GLOB
- (즐겁게 배우는 SQL #10) 데이터를 필터링하자 - IS NULL
- (즐겁게 배우는 SQL #11) 테이블을 조인하자 - JOIN 설명
- (즐겁게 배우는 SQL #12) 테이블을 조인하자 - INNER JOIN
- (즐겁게 배우는 SQL #13) 테이블을 조인하자 - LEFT JOIN
- (즐겁게 배우는 SQL #14) 테이블을 조인하자 - CROSS JOIN
- (즐겁게 배우는 SQL #15) 테이블을 조인하자 - SELF JOIN
- (즐겁게 배우는 SQL #16) 테이블을 조인하자 - FULL OUTER JOIN
- (즐겁게 배우는 SQL #17) 데이터를 그룹으로 묶어보자 - Group By
- (즐겁게 배우는 SQL #18) 데이터를 그룹으로 묶어보자 - HAVING
- (즐겁게 배우는 SQL #19) 집합 연산자를 배우자 - Union
- (즐겁게 배우는 SQL #20) 집합 연산자를 배우자 - Except와 Intersect
- (즐겁게 배우는 SQL #21) 집합 연산자를 배우자 - MySQL에서 Intersect와 Except 흉내내기
- (즐겁게 배우는 SQL #22) 서브 질의를 배우자 - 서브 질의
- (즐겁게 배우는 SQL #23) 서브 질의를 배우자 - Exists
- (즐겁게 배우는 SQL #24) 서브 질의를 배우자 - Case
- (즐겁게 배우는 SQL #25) 보너스 - 지금까지 배운 내용 응용하기
- (즐겁게 배우는 SQL #26) CRUD 연산의 기본기를 배우자 - C(Create)를 위한 INSERT
- (즐겁게 배우는 SQL #27) CRUD 연산의 기본기를 배우자 - U(Update)를 위한 UPDATE
- (즐겁게 배우는 SQL #28) CRUD 연산의 기본기를 배우자 - D(Delete)를 위한 DELETE
- (즐겁게 배우는 SQL #29) CRUD 연산의 기본기를 배우자 - 삽입하거나 기존 행을 대체하는 REPLACE
- (즐겁게 배우는 SQL #30) 트랜잭션이 뭐지?
- (즐겁게 배우는 SQL #31) 데이터를 정의하자 - SQL 데이터 타입
- (즐겁게 배우는 SQL #32) 데이터를 정의하자 - 테이블 생성
- (즐겁게 배우는 SQL #33) 데이터를 정의하자 - 테이블 변경
- (즐겁게 배우는 SQL #34) 데이터를 정의하자 - 테이블 열 이름 변경
- (즐겁게 배우는 SQL #35) 데이터를 정의하자 - 테이블 제거
- (즐겁게 배우는 SQL #36) 데이터를 정의하자 - 청소(Vacuum)
- (즐겁게 배우는 SQL #37) 제약 조건 - 기본 키
- (즐겁게 배우는 SQL #38) 제약 조건 - 외래 키
- (즐겁게 배우는 SQL #39) 제약 조건 - NOT NULL 제약
- (즐겁게 배우는 SQL #40) 제약 조건 - UNIQUE 제약
- (즐겁게 배우는 SQL #41) 제약 조건 - CHECK 제약
- (즐겁게 배우는 SQL #42) 제약 조건 - AUTOINCREMENT 제약
- (즐겁게 배우는 SQL #43) 뷰 - 뷰 생성
- (즐겁게 배우는 SQL #44) 뷰 - 뷰 제거
- (즐겁게 배우는 SQL #45) 색인 - 색인
- (즐겁게 배우는 SQL #46) 색인 - 표현식 기반의 색인
- (즐겁게 배우는 SQL #47) 트리거 - 트리거
- (즐겁게 배우는 SQL #48) 트리거 - INSTEAD OF 트리거
- (즐겁게 배우는 SQL #49) 윈도우 함수 - 윈도우 함수(1)
- (즐겁게 배우는 SQL #50) 윈도우 함수 - 윈도우 함수(2)
- (즐겁게 배우는 SQL #51) (보충) where와 having 차이점 설명
- JOIN 조인 + 예시
- The difference between WHERE and HAVING – SQL Bits
- SQLrevisited: Difference between DELETE vs DROP vs TRUNCATE in SQL
- WHERE vs HAVING and GROUP BY vs PARTITION BY Clause in SQL - Tech Point Fundamentals
- DB에 하지 말아야 할 겪은 일들
- 고독쓰나미 - YouTube
- Torturing Databases for Fun and Profit
- EDB is a framework to make and manage backups of your database
- IntelliJ 0xDBE
- Chaos Tomb: Visualizing Gameplay with D3 and SQL
- Exploring the Wall Street Journal's Pulitzer-Winning Medicare Investigation with SQL
- Readings in Database Systems, 5th Edition
- aquerytool.com
- dbguide.net
- 코드카데미, SQL 중급 강의 무료 공개
- SQL,SELECT문처리순서/과정 parsing,optimization,execution,fetch,옵티마이저,파싱,실행,패치
- How to Optimize SQL Queries. This article sorts out some special… | by Pawan Jain | Jun, 2020 | Towards Data Science
- How to Optimize SQL Queries Part II | by Pawan Jain | Jul, 2020 | Towards Data Science
- SQL Query Optimization: Level Up Your SQL Performance Tuning | by Garvit Arya | Feb, 2022 | Better Programming
- Top 10 Tips to Improve SQL Query Performance | by Bigscal Technologies | Medium
- Valentina Cupać on Twitter: "What's the logical order of SQL query operations? SQL Query Execution Order (Visualized). #SQL #Databases https://t.co/PWgGe0SNbU" / Twitter
- SQL Query Order of Execution | Sisense
- SQL queries run in this order
- Parsing SQL - Federico Tomassetti - Software Architect
- (SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
- 초보자 확실히 기억해야 하는 SQL 가이드
- 제3회 스포카콘 SQL 쿼리 최적화 맛보기
- 비전공자를 위한 SQL
- 나만 모르고 있던 – Flyway (DB 마이그레이션 Tool)
- 예제로 배우는 SQL 프로그래밍
- DB-Engines Ranking - Trend Popularity
- Comparison of different SQL implementations
- DB 데이터를 Hadoop에 저장 시 삽질 두가지
- 혀로그래머 charsyam은 구라쟁이
- WebSanitizer ScanningVideotest acunetix com
- 패스트캠퍼스 SQL튜닝캠프 1일차 - 인덱스 구조와 스캔 방식
- 고치면서 배우는 즐거운 SQL
- SQL이란: 데이터 쿼리와 관리
- 데이터베이스 관리 도구: SQLGate 키보드 단축키
- Software engineer — from monolith to cloud: Auto Increment to UUID
- Reasons why SELECT * is bad for SQL performance | Tanel Poder Consulting
- UUIDs are Popular, but Bad for Performance — Let’s Discuss
- Generating UUIDs at scale on the Web | by Matthieu Wipliez | Teads Engineering | Jul, 2020 | Medium
- uuid-readable: Generate Easy to Remember, Readable UUIDs, that are Shakespearean and Grammatically Correct Sentences 🥳
- Understanding How UUIDs Are Generated - Digital Bunker
- Why Did We Shift Away From Database-Generated Ids?
- Don't Use Database Generated IDs | The Startup
- Instagram 에서 ID 샤딩하기
- Code Quality Comparison of Firebird, MySQL, and PostgreSQL
- SQL Best Practices — Designing An ETL Video
- RDB에서 데이터 ETL을 위한 최소한의 테이블 설계
- DBMS 버퍼 관리의 두 가지 흐름 가상 메모리 페이지 교체 알고리즘 활용…페이지 부재 발생 빈도 줄여 성능 향상
- DBMS의 탄생과 발전, 그리고 역사
- 01 - History of Databases (CMU Databases / Spring 2020)
- 중국의 어떤 서버 개발자의 디비 설계
- An explanation of the difference between Isolation levels vs. Consistency levels
- What every developer should know about database consistency | Roberto Vitillo's Blog
- A Better Way to Write SQL queries for Developers
- 관계형 데이터 모델링
- Database 모델링에 대해서 정리해 봅니다
- 데이터 모델링이란? (관계형 DB 편)
- 검색엔진과 DB Like 검색의 결과가 다른 이유
- 코호트 분석(Cohort Analysis)을 SQL로 구현하는 테스트 코드
- Write-Ahead Log for Dummies
- 번역 데이터 구조와 설계 — 튜토리얼
- Database basics: writing a SQL database from scratch in Go
- Choosing a Database Technology
- The Best Medium-Hard Data Analyst SQL Interview Questions
- Things I Wished More Developers Knew About Databases
- Understanding Database IOPS - Part 1 | Kloud DB
- 오라클12c 행제한구문 실습, MySQL의 top-N 쿼리, 페이징 쿼리 (Pagination Query) - YouTube
- How to Implement Cursor Pagination Like a Pro | by Megan Chang | The Startup | Medium
- A Snowflake deep dive 기술이야기는 아니고 snowflake 소개
- Database of Databases - Home
- How to use Indexing for SQL Query Optimization | Towards Data Science
- SERIES: 데이터베이스 인덱스 공부
- Using SQL to Estimate Customer Lifetime Value (LTV) without Machine Learning - Data Science Central
- Understanding Connections & Pools
- 내가 만든 서비스는 얼마나 많은 사용자가 이용할 수 있을까? - 3편(DB Connection Pool)
- ConnectionStrings.com - Forgot that connection string? Get it here! 각 DB별 connection string 모음
- Maximum number of database connections - Vlad Mihalcea
- What can we learn from SQL's 50 year reign? A story of 2 Turing Awards
- Running a bakery on Emacs and PostgreSQL // Just a Summary
- You might as well timestamp it |> Changelog flag보다 timestamp를 써야 한다는 주장
- The State of the Open Source Database Industry in 2020: Part Three - Percona Database Performance Blog
- Database Performance Secrets of the Stars! - YouTube
- Demystifying Database Performance for Developers
- Against SQL
- A beginner's guide to database multitenancy - Vlad Mihalcea
- 칼럼|데이터베이스의 '주류 교체', 숨막히게 더딜지라도... - CIO Korea
- 영상 : 초보자가 저지르기 쉬운 DB 코딩 실수 3가지 :: 자바캔(Java Can Do IT)
- A future for SQL on the web
- Stephen Colebourne's blog: Big problems at the timezone database
- 통계 서버를 구축하며!. 소개 | by Jason Kang | Uniquegood | Oct, 2021 | Medium 주제 분류가 좀 애매하지만 동시성 문제를 이야기하니 우선 여기에
- pubkey/client-side-databases: An implementation of the exact same app in Firestore, AWS Datastore, PouchDB, RxDB and WatermelonDB
- Database Replication Explained. Part 1 — Single Leader Replication | by Zixuan Zhang | Nov, 2021 | Towards Data Science
- Database Replication Explained 2. Part 2— Multi Leader Replication | by Zixuan Zhang | Nov, 2021 | Towards Data Science
- Database Replication Explained 3. Part 3 -Leaderless Replication | by Zixuan Zhang | Nov, 2021 | Towards Data Science
- How to optimize your SQL Database to handle millions of records — part 1 | by SianLoong | Medium
- Is Kubernetes slowing down my database? | DB Exam Study
- Databases in 2021: A Year in Review - OtterTune
- 글로벌 칼럼 | ‘진화 혹은 변혁’ 클라우드 데이터 웨어하우스의 미래 - ITWorld Korea
- Thread by @ergestx on Thread Reader App – Thread Reader App
- Different Ways to Check and Delete Duplicate Records in SQL - Tech Point Fundamentals
- How to choose the right database for your project | by Anthony Papoutsis | Mar, 2022 | Medium
- How to choose the right database for your service | by Natan Silnitsky | Wix Engineering | Medium
- “데이터 계층을 위한 탄력적 컴퓨팅” 서버리스 데이터베이스의 이해 - ITWorld Korea
- A database for 2022 · Tailscale
- SQL 가독성을 높이는 다섯 가지 사소한 습관
- SQL 가독성을 높이는 다섯 가지 사소한 습관 | 요즘IT
- Alternative to MapReduce for search in distributed databases - DEV Community
- Building data-centric apps with a reactive relational database
- 아직도 DBA는 좋은 직업인가요? | GeekNews
- Why SQL Needs Software Libraries | Future
- Everything Is a Funnel, But SQL Doesn’t Get It | by Motif Analytics | Jun, 2022 | Medium
- DataBase
- Scan sharing - IBM Documentation
- 05 - Buffer Pools (CMU Intro to Database Systems / Fall 2021) - YouTube
- MVCC 구조와 이해
- 고가용성의 웹 서비스를 위한 데이터베이스 클러스터링 clustering
- 오래된 DB와 이별하는 방법 :: GS Retail Engineering
- DB migration 방법론 :: GS Retail Engineering
- Number와 boolean 은 최대한 Not Null로 선언하기
- 'is not NULL'과 '!= NULL'은 다르다?
- Redesigning MySQL - AWS Tech Talk on the Aurora Database
- Now Available – Amazon Aurora
- 최소한의 다운타임으로 아마존 RDS Aurora DB로 이전하기
- MySQL에서 RDS(Aurora) 로 이관하기
- Amazon Aurora 내부 들여다보기 (1) – 쿼럼 및 상관 오류 해결 방법
- 20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
- Amazon Aurora – MySQL에서 DB 부하에 대한 최적화 방법
- 재해복구(DR)를 위한 오로라 데이터베이스 구성
- AWS Aurora DB Cluster & Instance Parameter 튜닝
- Aurora 로컬 스토리지 성능 테스트
- Amazon Aurora MySQL Database Administrator’s Handbook (요약 및 의역)
- Amazon Aurora Multi-Master를 통한 고가용성 MySQL 애플리케이션 만들기
- Aurora MySQL를 운영하면서 알면 좋을 것 같은 미세한 팁
- Aurora MySQL 스냅샷을 Parquet 로 S3 에 Export
- When Should I Use Amazon Aurora and When Should I use RDS MySQL? - Percona Database Performance Blog
- A First Glance at Amazon Aurora Serverless RDS - Percona Database Performance Blog
- AWS Announces New Database Service Babelfish for Aurora PostgreSQL in Preview
- Amazon Aurora PostgreSQL 에서 pg_bigm 모듈사용하기
- (AWS Aurora) PostgreSQL에서 Lock 쿼리 확인하고 원인 종료하기
- 입 개발 MariaDB Connector 와 AWS Aurora | Charsyam's Blog
- Planning I/O in Amazon Aurora | AWS Database Blog
- Leveraging AWS Aurora for Event Sourcing | by Lomig Mégard | SwissBorg Engineering | Feb, 2022 | Medium
- Aurora MySQL vs Aurora PostgreSQL | 우아한형제들 기술블로그
- Amazon Aurora Serverless v2 정식 출시 – 워크로드 요구 사항에 따른 즉각적인 DB 크기 조정 | Amazon Web Services 한국 블로그
- No, AWS, Aurora Serverless v2 Is Not Serverless - Last Week in AWS Blog
- Amazon RDS Custom에서 Oracle Database 재생성 하기 | AWS 기술 블로그
- Common pitfalls when migrating MySQL to Aurora using AWS DMS | EverSQL
- 블루/그린 배포를 이용한 Aurora MySQL 버전 무중단 업그레이드 경험 공유 | by Siheon Kim | Feb, 2023 | HBsmith
- Amazon RDS MySQL 블루/그린 배포환경에서 전환 작업 이후 복구 환경 구성을 위한 동기화 기법 | AWS 기술 블로그
- 우아한형제들에서 RDS를 모니터링 하는 방법 | AWS 기술 블로그
- AWS RDS Storage 성능 비교. AWS 서비스에 사용할 Storage에 대한 자료를 찾아보다가 AWS… | by Kimmatt | 직방 기술 블로그 | Apr, 2023 | Medium
- Amazon Aurora I/O-Optimized 클러스터 구성- I/O 집약적 애플리케이션을 위한 최대 40% 비용 절감할 수 있는 스토리지 옵션 | Amazon Web Services 한국 블로그
- 실시간 복제 데이터를 이관시키는 방법. 안녕하세요. 스테이지랩스(STAYGE Labs) Back-End 팀… | by Victor Kang | staygelabs | May, 2023 | Medium migration DynamoDB to Aurora PostgreSQL
- The growing pains of database architecture
- Amazon RDS에서 단일 Postgres 데이터베이스를 사용하고 있던 Figma가 더는 하나의 데이터베이스로 서비스하기 어려워서 점진적으로 개선해 나간 과정을 정리한 글
- Figma는 2022년까지 Amazon RDS Postgres 데이터베이스 사용, CPU 사용률 65%
- 이 문제를 완화하기 위해 일단 데이터베이스의 사용을 올리고 읽기 리플리카를 만든 뒤 PgBouncer를 추가해서 연결 수 제어
- 하지만 부하의 상당 부분이 쓰기와 관련되어 있었고 복제 지연시간 때문에 모든 읽기를 리플리카로 옮길 수 있는 상황도 아님
- 수평 확장이 되는 NoSQL이나 Vitess 등을 고려했지만
- 애플리케이션 수정도 많이 필요
- 직접 운영에 필요한 관련 경험이 없었기 때문에
- 매니지드 솔루션을 그대로 이용하고자 함
- 데이터베이스를 테이블별로 수직 분할하기로 결정
- 테이블 그룹을 자체 데이터베이스 베이스로 옮기기로 하고
- 이 수직 파티셔닝은 원본 데이터베이스에 부담을 줄이면서 향후 테이블의 하위 집합을 수평으로 샤딩할 수 있는 장점
- 문제는 파티셔닝이 쉬운지 여부
- 테이블을 이동하면 트랜잭션이나 조인 등의 기능을 잃게 되므로
- 애플리케이션 재작성하는 비용이 클 수 있음
- Ruby에서 ActiveRecord를 사용하고 있었으므로
- 런타임 유효성 검사기를 만들어서 같은 테이블 그룹을 참조하는 쿼리와 트랜잭션을 기록해서 파티셔닝의 후보로 만듦
- 마이그레이션 중 가용성 영향을 1분 미만이면서 반복할 수 있고 파티션을 취소할 수 있는 요구사항을 맞추려면 직접 만드는 수밖에 없었음
- 애플리케이션이 파티셔닝과 호환되도록 한 뒤 PgBouncer를 하나 더 추가해서 트래픽을 분할하여 호환성 검사를 하면서 서비스에 영향이 가게 하고 문제가 없으면 분리된 데이터베이스를 보게 함
- 첫 작업에서 2개의 테이블을 옮기고 2022년 10월에는 50개의 테이블을 옮기면서 CPU 사용률은 10%까지 감소
- SQL 전문가 되어보기
- SQLite로 가볍게 배우는 데이터베이스
- 더북(TheBook): 오라클 SQL과 PL/SQL을 다루는 기술
- 더북(TheBook): SQL 코딩의 기술 1~3장만
- 더북(TheBook): 모두의 SQL
- 더북(TheBook): 누구나 쉽게 SQL
- Readings in Database Systems, 5th Edition
- SQL Indexing and Tuning e-Book for developers: Use The Index, Luke covers Oracle, MySQL, PostgreSQL, SQL Server, ...
- PostgreSQL 14 Internals : Postgres Professional
- PostgreSQL 14 Internals, Part II : Postgres Professional
- joinc
- A Database Model for Simple Board Games
- DB/분산 초보자를 위한 CAP 이론
- Paper: OLTP Through the Looking Glass, and What We Found There
- Paper: Main Memory Database Systems: An Overview
- Paper: Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores
- Paper: Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems – The Last Mind
- Foundations of Databases
- 1 ~ 4세대 DBMS로 보는 데이터베이스 발전 과정과 양상에 대해 정리하기 | by Ryan Kim | Jul, 2021 | Medium
- 15 futuristic databases you’ve never heard of - YouTube
- DuckDB is an in-process SQL OLAP Database Management System
- Eduardo Blancas - Using embedded SQL engines for plotting massive datasets on a laptop - YouTube sqlite
- FOSDEM 2023 - DuckDB In The Python Land - Pedro Holanda - YouTube
- alasql.org
- Arctype | The fast and easy-to-use SQL client
- awesome-db-tools: Everything that makes working with databases easier
- bytebase: Web-based, zero-config, dependency-free database schema change and version control tool for teams. Public demo: https://demo.bytebase.com
- cozo: A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms
- DBCore - Rapidly prototype applications powered by your database
- dbcrossbar - an open source tool that copies large, tabular datasets between many different databases and storage formats. Data can be copied from any source to any destination
- dbdb.io Home - Database of Databases
- DBeaver
- dblab: The database client every command line junkie deserves
- DBLog: A Generic Change-Data-Capture Framework | by Netflix Technology Blog | Netflix TechBlog
- db_seeder: Relational database data generator..
- Dolt – It's Git for Data
- dqlite: Embeddable, replicated and fault tolerant SQL engine
- dsq: Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more
- ERD
- falcon - Free, open-source SQL client for Windows and Mac
- Flyway - Version control for your database. Robust schema evolution across all your environments. With ease, pleasure and plain SQL
- goose Overview - pressly/goose
- Instant SQL Formatter
- Jailer Open Jail - The Jailer Project Web Site
- Jetbrains
- malloy: Malloy is an experimental language for describing data relationships and transformations
- migration
- flyway - Evolve your Database Schema easily and reliably across all your instances plain SQL 사용
- liquibase.org - source control for your database xml 작성, rollback 지원
- orbit-db - Peer-to-Peer Databases for the Decentralized Web
- prql: PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
- RadonDB: 대륙의 뉴타입 슈주쿠(Shùjùkù, 数据库, database) !? MySQL or PostgreSQL 기반의 분산 데이터베이스 이야기
- Rel – The desktop relational database management system
- Replibyte - 개발DB를 실제 데이터로 채우는 도구 | GeekNews
- Rockset - a scalable, reliable search and analytics service in the cloud that makes it easy to build fast operational applications on TBs of data simply using SQL
- sequel fumpt - Type some SQL. Move the slider to set output width
- sq: swiss-army knife for data jq for relational data
- sqitch: Sensible database change management
- sqldef: Idempotent schema management for MySQL, PostgreSQL, and more
- sqlfluff The SQL Linter for humans
- SQLPad - A web app for writing and running SQL queries and visualizing the results. Supports Postgres, MySQL, SQL Server, ClickHouse, Crate, Vertica, Presto, SAP HANA, Snowflake, BigQuery, SQLite, and many others via ODBC
- SQL Translation - Translate your SQL from one dialect to another
- Teleport Introducing Database Access | Teleport NAT
- table_ddl mariadb mysql 특정 스키마 테이블 ddl 추출 프로그램 배포
- Trino | Distributed SQL query engine for big data
- Trino | Why leaving Facebook/Meta was the best thing we could do for the Trino Community
- 페이스북에서 만든 Presto의 초기 멤버들이 페이스북을 나와서 Trino로 리브랜딩하고 Trino 재단을 만들었는데 그게 왜 좋은 결정이었는지를 설명한 글
- Presto를 처음 오픈소스로 릴리스한 2012년은 Facebook이 IPO 하기 전, 오픈소스로 프로젝트를 오픈하는 데 문제가 없었음
- 사람들은 커뮤니티를 만들지 회사를 만드는 게 아니고 회사는 목표 자체가 커뮤니티와는 다름
- 오픈소스는 "누구도 특별하지 않다"는 엄격한 정책이 있지만
- Facebook 내에서 Prestor가 중요한 프로젝트가 되면서 승인/성과를 위해서 프로젝트의 커밋 권한을 받으려고 함
- 처음에 한 실수는 Presto라는 이름의 애정이 있어서 이름을 바꾸지 않으려고 했고
- 페이스북도 Presto가 커뮤니티 소속이라는 합의가 있다고 믿었지만 실제로는 커뮤니티가 나가자 페이스북의 소유가 됨
- 그래서 페이스북을 나와야 했고 Trino로 리브랜딩해서 홍보도 새로 해야 했지만 그래도 커뮤니티의 힘을 믿었고 빠르게 스타도 증가
- Trino | Why leaving Facebook/Meta was the best thing we could do for the Trino Community
- usql - Universal command-line interface for SQL databases
- UXSql Application Builder MSSQL, MySQL 가능
- VisualSQL We Made SQL Visual - Why and How
- Waltz: A Distributed Write-Ahead Log
- YDB — an open-source Distributed SQL Database
- Yugabyte Cloud - Yugabyte
- HowTo: Install ClusterControl to Provision, Monitor and Manage MariaDB/Percona MariaDB MySQL Cluster
- How to Install MariaDB on Ubuntu 18.04
- Call me Maybe: MariaDB Galera Cluster
- Spring 4 + MyBatis 3 + MariaDB (Maven) 기반 게시판 예제
- 빌링 시스템 장애, 이러지 말란 Maria~
- MariaDB에서 서브쿼리 인덱스 걸기
- Spider Storage Engine Overview with built-in sharding features
- How to migrate from Oracle Database with ease
- "SELECT COUNT(*)" 수행 속도 문제
- MariaDB 설치 및 설정
- MariaDB에서 root 암호 인증 방식이 먹히지 않는 이유(feat. unix_socket)
- Authentication from MariaDB 10.4
- Less passwords, more security: unix socket authentication and other MariaDB hardening tips
- Observability Differences Between MySQL 8 and MariaDB 10.4
- Streaming backups in parallel using tee | DBA Dojo
- 팁 MariaDB 사용자별 최대 쿼리 실행 시간 다르게 주기 :: 자바캔(Java Can Do IT)
- Logging all MariaDB and MySQL queries into the Slow Log - Vettabase
- 마리아DB 파티션 테이블+자동 증가 칼럼 대박 버그 :: 자바캔(Java Can Do IT)
- 미친 라이브 데모를 통해 보는Write-Scale Out MariaDB Xpand (10 node cluster)
- mariadb procedure exception 처리 예제
- MariaDB vs MySQL - 호환성/포크된 이유/주요 차이점 비교 | GeekNews
- mariadb instr 함수 커스트마이징 하기 (오라클 버전 파라미터 적용)
- #MariaDB - 데이터베이스(DB) 초기화
- 가난한 자의 MariaDB 프로시저 로깅 · 감자도스
- Authentication Plugin - Unix Socket
- CDC
- ClustrixDB distributed RDB
- Galera DIAMANTI Use Case : MariaDB with Galera Cluster | by Simon.kim | Mar, 2021 | Medium
- SkySQL Jacob's Cafe :: 수십억건 데이터 처리를 위한 MariaDB Analytics (SkySQL)
- Testcontainers로 Mariadb 연동 통합 테스트하기 :: 자바캔(Java Can Do IT)
- practice - case when
- practice - top 1 to read the latest row
- practice - troubleshooting
- User Defined Stored Procedures in SQL
- 저장 프로시저 (Stored Procedure) 란?
- Install SQL Server on Ubuntu
- SQL Server 에게 String 이란? (NVARCHAR 인가 VARCHAR 인가)
- SQL Server Tutorial
- Some Aspects of MS SQL Server Monitoring. Part 1
- 임시테이블, 테이블변수 간 성능이슈
- 토크ON세미나 47차. SQL 데이터분석 입문 | T아카데미
- 쿼리 수행시간 확인방법
- Docker + MSSQL 개발하기
- SQL서버 커밋할 수 없는 트랜잭션
- MSSQL Server Tutorial For beginners - Techringe
- SQL서버 VALUES의 다양한 용법(테이블 값 생성자) :: 전산이야기
- 맥북 docker 에 mssql 설치 하기
- 신입 개발자, DB를 최적화 하다! 1편. 소개 | by Jason Kang | Uniquegood | Sep, 2021 | Medium
- 신입 개발자, DB를 최적화 하다! 2편. 소개 | by Jason Kang | Uniquegood | Sep, 2021 | Medium
- Intro to SQL - YouTube
- Improving Database Development, CI/CD with Storage Snapshot | by Kittikun Chartmala | Agoda Engineering & Design | Feb, 2022 | Medium
- SQLServer JDBC의 이상한 동작
- 날짜 참조 테이블 만들기 (매월 월요일 구하기.. : 네이버블로그
-
practice
- 비개발자를 위한 MySQL
- 개발했더니 내 서재였던 건에 대하여 - 리디주식회사 RIDI Corporation
- queries 비밀번호 변경 등 기타 명령도 포함
- use case
- 분리된 table을 통합하는 과정에서의 경험
- unique constraint에서 null을 사용하는 경우의 핵심
- table에 존재하지 않는지 검사하고 입력하는 INSERT 구문
- 다른 table에 존재하는 record 삭제하는 DELETE 구문
- ON DUPLICATE KEY UPDATE와 IF를 사용한 입력
- MySQL: 테이블 이름 변경에 view 활용하기
- MySQL 중복 데이터 제거 트러블 슈팅 - 현구막 기술 블로그
date_trunc
함수를 구현하자- ALTER
- MySQL 테이블 수정
- MySQL ALTER 명령을 이용한 테이블 변경
ALTER TABLE [table name] RENAME [new table name]
ALTER TABLE [table name] ADD [column name] [type]
- Unexpected slow ALTER TABLE in MySQL 5.7
- practice - create insert alter
COALESCE(<column name>, 0)
column 값이 NULL인 경우 0 출력- CREATE
CREATE TABLE [table name] LIKE [org table name]; -- index까지 복사. 물론 데이터는 복사하지 않음
CREATE TABLE [table name] SELECT * FROM [org table name]; -- 데이터를 복사해서 만들지만 index를 복사하지는 않음
- INSERT
- 13.2.5.2 INSERT ... ON DUPLICATE KEY UPDATE Syntax
- Mysql 의 Insert .. On Duplicate Key Update 유의사항
- Insert multiple records into MySQL with a single query
- 여러 행 SELECT해서 INSERT 하기 :: Outsider's Dev Story
- sql 독학 강의 # mysql insert 사용 방법 17편 -sTricky
- MySQL 양방향 암호화 복호화 insert 및 select 예제
- MySQL은 '따닥'을 어떻게 방어할까
- LOAD, mysqlimport
- csv 파일을 직접 MySQL 테이블로 Import 하는 방법 (대용량 파일 import 팁)
- MySql: LOAD DATA INFILE 로 대용량 데이터 인서트하기
- load data infile; 속도가 느림
mysql -h xxx.yyy.zzz.www -u [user id] -p[password] [database] -N -e "LOAD DATA local infile \"./[data file]\" REPLACE INTO TABLE [table name] ([column1], [column2],...[columnN])"
- 13.2.7 LOAD DATA INFILE Syntax
- MySQL 파일을 이용하여 테이블에 값 삽입하기
- MySQL database 정보 import하기 mysqlimport
- MySQL: Import CSV, not using LOAD DATA | Die wunderbare Welt von Isotopp
- LOAD_FILE() function
- RANK
- replace into & insert into 차이점, 주의할점이 무엇인지 쉽고 간단하게 확인하기
- SELECT
-
SELECT Email From Person GROUP BY Email HAVING COUNT(Id) > 1
-
SELECT Name AS 'Customers' FROM Customers WHERE Id NOT IN (SELECT CustomerId FROM Orders)
-
SELECT class FROM courses GROUP BY class HAVING COUNT(DISTINCT student) >= 5
-
SELECT * FROM cinema WHERE id % 2 = 1 AND description != 'boring' ORDER BY rating DESC
-
age가 '만 xx세'로 되어 있을 때 숫자만 뽑아 그 차이를 구하는 경우
$ mysql -h [x.y.z.w] -u [userid] -p[password] [database] -N -e "SELECT a.keyword, a.iage, b.keyword, b.iage, a.iage - b.iage FROM (SELECT \`key\`,keyword, age, CHAR_LENGTH(age), CONVERT(SUBSTRING(age, 2, CHAR_LENGTH(age)-2), UNSIGNED) iage, represent, family FROM [table] WHERE age IS NOT NULL) as a join (SELECT \`key\`,keyword, age, CHAR_LENGTH(age), CONVERT(SUBSTRING(age, 2, CHAR_LENGTH(age)-2), UNSIGNED) iage, represent, family FROM [table] WHERE age IS NOT NULL) as b on a.\`key\` != b.\`key\`"
-
MySQL IN절을 통한 성능 개선 방법 범위 조건에서는 인덱스 효과를 제대로 보지 못함 -> IN은 기존의 MySQL 이 가지고 있던 범위 조건의 비효율 회피
- practice - create insert recursive union
- SHOW
show [full] processlist
터미널에서 쿼리 전체 보기- Show Comment of Fields FROM Mysql Table
- mysql show 명령어 완벽 정리
UPDATE salary SET sex = CASE sex WHEN 'm' THEN 'f' ELSE 'm' END;
- mysql 실무에 유용한 sql 로직 모음 #01
- mysql 실무에 유용한 sql 로직 모음 #02
-
troubleshooting
- MySQL 에서 한글이 께어질때 수정을 하는 방법 UTF-8사용
- practice - Error: 1366
- practice - Error: 1467
- MySQL error 2006: mysql server has gone away e.g.
--max_allowed_packet=268435456
SHOW VARIABLES LIKE 'max_allowed_packet';
orSELECT @@max_allowed_packet;
set global max_allowed_packet=64*1024*1024;
to set (with privileged account such as root)~/.my.cnf
나/etc/my.cnf
등 여러 개의 cnf file이 있을 수 있으니 적절한 file에서 수정 후 mysql을 재시작(e.g.service mysql restart
)하는 방식으로 해야 할 수도 있음- python code with MySQLdb or mysqlclient;
cursor.execute('SET GLOBAL max_allowed_packet=67108864', ())
root 권한이 필요해서 안될 듯
- FULLTEXT 인덱스와 일반 인덱스 성능 차이
- max_execution_time 설정하기
- Online Alter에도 헛점은 있더구나 – gdb, mysqld-debug 활용 사례
- MySQL Lock 상황 문제 해결
- #1071 - Specified key was too long
- Connect to MySQL after hitting ERROR 1040: Too many connections - Percona Database Performance Blog
- MySQL 8 root 비밀번호 분실, 초기화 방법 (DB관리자 필수로 알아둘 내용) How to reset MySQL root password - YouTube
- Access denied for user 'root@'@'localhost' 해결방법 :: oziguyo
-
How MySQL Is Able To Scale To 200 Million QPS - MySQL Cluster
-
- MySQL에서 데이터타입인 JSON과 TEXT 성능 비교
- 데이터베이스에서 JSON을 지원한 뒤로 유용한 기능이지만 언제 JSON을 쓰고 언제 TEXT를 써야 할 지 파악 가능
- 큰 데이터를 기준으로 비교한 결과 COUNT 쿼리는 JSON을 파싱하지 않아서 거의 비슷한 성능
- JSON 내부의 필드로 COUNT 쿼리를 하는 경우는 파싱하느라고 시간이 좀 더 소요
- 대신 데이터를 조회하는 경우는 JSON 처리에 TEXT보다 오래 걸리기 때문에 JSON이 TEXT보다 훨씬 오래 소요
- 대신 JSON은 내부의 특정 필드만 접근하거나 업데이트하는 경우나 특정 JSON 필드를 인덱스로 생성할 때는 그 효과를 볼 수 있음
- MySQL에서 데이터타입인 JSON과 TEXT 성능 비교
-
MySQL performance optimization: 50% more work with 60% less latency variance
-
MySQL Optimizer Error. 옵티마이저 에러 & 힌트 | by Sunguck Lee | 당근마켓 테크 블로그 | May, 2023 | Medium
-
mysql 커버링 인덱스란 무엇인가? | sTricky cover index
-
INSERT INTO list (code, name, address,) SELECT 'ABC', 'ABC name', 'Johannesburg' FROM list WHERE NOT EXISTS( SELECT code, name, address FROM list WHERE code = 'ABC' AND name = 'ABC name' AND address = 'Johannesburg' ) LIMIT 1
-
MySQL: id BETWEEN start AND end Instead of LIMIT start, step For Better Database Performance
-
Perfecting Lambda Architecture with Oracle Data Integrator (and Kafka / MapR Streams)
- MySQL 데이터베이스의 변경 내용을 스트림으로 캡처하기 위해 Oracle Data Integrator, Apache Kafka / MapR Stream를 구성하는 과정
-
Replicating Relational Databases with StreamSets Data Collector
- MySQL 데이터베이스의 변경 내용을 스트림으로 캡처하기 위해 StreamSets을 이용
- StreamSets은 JDBC를 이용하여 폴링 기반의 스트림 데이터 캡처가 가능
- 본문에서 MySQL 데이터베이스의 변경 사항을 캡처하고 HDFS/Hive/Impala로 streaming 하는 과정을 설명
-
부하 분산을 위해 MySQL을 Master/Slave로 이중화를 구성해 본 이야기 | Recoding Life
-
- 2010년 글 memcached 400,000/sec get vs. 100,000/sec select MySQL/InnoDB
- plugin을 통해 750,000/sec으로 성능 향상
-
utf8mb4
-
How to Install Only MySQL Client on CentOS, Redhat, Fedora and Ubuntu
yum install mysql
tried to installmariadb
&mariadb-libs
on Redhat 7.2(CentOS Linux release 7.2.1511 (Core)
)
-
primary key vs foreign key in mysql | Tutorial 8 in hindi - YouTube
-
Difference between Primary key and Unique key - GeeksforGeeks
-
Create foreign key in mysql | Create table with foreign key | Tutorial 9 in hindi - YouTube
-
오픈소스 데이터베이스, 흐르는 은행 데이터에 빨대를 꽂아보다 CDC, Uldraman 울드라맨
-
대용량 테이블 스키마 변경하기 alter table
-
MySQL binlog파서와 memcached plugin의 콜라보레이션! | gywndi's database
-
Streaming MySQL Binlogs to S3 (or Any Object Storage) - Percona Database Performance Blog
-
tcpdump
-
Managing Hierarchical Data in MySQL e.g. 게시판
-
Why SQL is beating NoSQL, and what this means for the future of data
-
MySQL High Availability Framework Explained ScaleGrid라는 MySQL service 회사에서 자사의 기술을 이용해 설명했지만, 일반적인 High Availability를 이해하기 위한 기초로 굉장히 좋은 글
-
Failed to read auto-increment value from storage engine 해결 방법
-
(MySQL) Auto Increment에서 TypeSafe Bulk Insert 진행하기 (feat.EntityQL, JPA)
-
MySQL 트랜잭션 Isolation Level로 인한 장애 사전 예방 법 – gywndi's database
-
Distributed Transactions & Two-phase Commit | by Animesh Gaitonde | Geek Culture | Medium
-
MySQL 데이터베이스 한번에 끝내기 SQL Full Tutorial Course using MySQL Database
-
Setting up an InnoDB Cluster With a Few Lines of Code - Percona Database Performance Blog
-
How to create a user in MySQL/MariaDB and grant permissions on a specific database
-
Replica 에 Write 가 된다고? MySQL Writable Replica 로 데이터 분석용 DB 만들기
-
MySQL의 다양한 실행 프로그램 mysqld_safe, mysql.server, mysqld_multi feat.mysqld
-
MySQL 5.6 EOL is February 2021 !! – lefred's blog: tribulations of a MySQL Evangelist 8.0
-
Upgrading MySQL (Percona Server) from 5.7 to 8.0 | by Flant staff | Flant | Medium
-
18 Things You Can Do to Remove MySQL Bottlenecks Caused by High Traffic (Part One)
-
Need to Connect to a Local MySQL Server? Use Unix Domain Socket!
-
median 값 구하기 SQL MySQL의와 계산의 중간에 간단한 방법
-
MySQL (Percona XtraDB) slave replication crash resilience settings
-
Best Practices for MySQL Backups - Percona Database Performance Blog
-
Charset and Collation Settings Impact on MySQL Performance - Percona Database Performance Blog
-
MySQL Deadlocks Are Our Friends - Percona Database Performance Blog
-
MySQL from a Developers Perspective | Die wunderbare Welt von Isotopp
-
MySQL Transactions - the physical side | Die wunderbare Welt von Isotopp
-
MySQL Challenge: 100k Connections - Percona Database Performance Blog
-
Sometimes they come back: exfiltration through MySQL and CVE-2020-11579 - Shielder
-
MySQL Query Performance Troubleshooting: Resource-Based Approach - Percona Database Performance Blog
-
Please stop using this UPSERT anti-pattern - SQLPerformance.com
-
Why Uber Engineering Switched from Postgres to MySQL | Uber Engineering Blog
-
Building HashTag M : N Relation with Node.js, Sequelize(MySQL) | by Ryan Kim | Oct, 2020 | Medium
-
Blog of (former?) MySQL Entomologist: Linux /proc Filesystem for MySQL DBAs - Part I, Basics
-
How to delete lots of rows from a MySQL database without indefinite locking – Bram.us
-
MySQL/MariaDB에서 유저에게 multiple host를 부여하는 방법 - Nephtyw’S Programming Stash
-
How to Connect A GraphQL API and A MySQL Database in Your GraphQL Layer | StepZen blog
-
MySQL/MariaDB character sets and collations explained – why utf8 is not UTF-8 | Hello DevOps
-
Login y Logout con NodeJS y MySQL usando jsonwebtokens - YouTube
-
- MySQL client CLI가 다른 데이터베이스에 비해 기능이 부족해서 CLI를 직접 수정해서 편의 기능을 추가하는 방법 설명
- 프롬프트에 서버 정보 등을 표시하거나 PostgreSQL처럼 자주 쓰는 명령어의 단축 명령어를 추가해서
\\d
를 입력하면SHOW DATABSAES;
실행 가능 - 미리 파일에 저장해둔 SQL을 실행하거나 회사 정책에 따른 경고문을 표시할 수 있도록 수정한 client 코드 같이 제공
-
MySQL table lock / table mutex / 송장번호 가상계번호 발급 / 번호 중복 발급 방지 방법
-
How to Make a Simple CRUD Application using ReactJS, NodeJS and MySQL
- MySQL 백업 mysqldump 사용법 정리
- 장애와 관련된 XtraBackup 적용기 mysqldump, mysqlbinlog, XtraBackup
- The MySQL Clone Wars: Plugin vs. Percona XtraBackup - Percona Database Performance Blog
- How to Migrate MySQL to AWS RDS Using mysqldump and DMS | by Phoebe Baek | Cloud Villains | Sep, 2022 | Medium
- NodeJS로 mysqldump하고 진행 상황 확인하기 · 감자도스
- Xtrabackup으로 DB 복구하기
- MySQL/MariaDB의 inet_aton/ntoa 함수를 대체할 JPA 컨버터
- New Logical Backup and Restore Utilities in the MySQL Shell
- ADT - Almighty Data Trasmitter
- binlog2sql: Binlog to Raw SQL Conversion and Point In Time Recovery - Percona Database Performance Blog
- canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件
- Directus - Free and Open-Source MySQL Database GUI
- DocStore: Document Database for MySQL at Facebook
- dolphie: An intuitive feature-rich top tool for monitoring MySQL in real time
- fluent-plugin-mysql-replicator
- Galera Cluster
- Maxwell's daemon, an application that reads MySQL binlogs and writes row updates to Kafka, Kinesis, RabbitMQ, Google Cloud Pub/Sub, or Redis as JSON
- 실시간에 가깝게 mysql 데이터를 가져옴. 텅스텐CDC에 비해 안정적이며, 필요한 테이블/컬럼 단위로 필터링 처리 가능
- MySQL CDC, Streaming Binary Logs and Asynchronous Triggers
- Herb: Multi-DC Replication Engine for Uber’s Schemaless Datastore
- Uber가 2014년부터 진행했던 프로젝
- MySQL로 Schemaless를 구현한 사례, Herb라는 센터간 복제 기술로 고도화 실현
- Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL
- The Architecture of Schemaless, Uber Engineering’s Trip Datastore Using MySQL
- Using Triggers On Schemaless, Uber Engineering’s Datastore Using MySQL
- mycli - Mycli is a command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting
- mysos - MySQL on Mesos (moving to the Apache Incubator)
- mysql-5.6 - Facebook's branch of the Oracle MySQL v5.6 database. This includes MyRocks
- MyRocks: A space- and write-optimized MySQL database
- How Facebook Migrated a Database From InnoDB to MyRocks
- 페이스북은 InnoDB를 MyRocks로 스토리지 엔진을 전환하여 스토리지 사용량을 절반으로 감소
- InnoDB를 MyRocks로 마이그레이션하는 방법을 간단히 설명
- Migrating Messenger storage to optimize performance facebook messenger storage, migration from HBase to MyRocks
- How Facebook Accelerates SQL at Extreme Scale
- mysqlsh
- MySQLTuner-perl
- OSC - Facebook releases a new OnlineSchemaChange tool written in Python
- Planche - Javascript MySQL GUI Client Tool
- PlanetScale 플래닛스케일 리뷰 | 수평 확장 가능한 마이SQL 호환 서버리스 DB 플랫폼 - ITWorld Korea
- python-mysql-replication
- Sysbench How to Install and Use Sysbench - mortensi
- TiDB is a distributed SQL database compatible with MySQL protocol
- Yahoo MySQL Performance Analyzer
- vitess - A database clustering system for horizontal scaling of MySQL
- Sharding Pinterest: How we scaled our MySQL fleet
- MySQL Sharding에 관한 자료들
- Apache ShardingSphere를 이용한 DB Sharding
- LINE Manga 데이터베이스 샤딩 – 서버 엔지니어 편
- LINE Manga 데이터베이스 샤딩 – 데이터베이스 엔지니어 편
- ADT 활용 예제1: MySQL Shard 데이터 재분배
- The Next Evolution of the Database Sharding Architecture
- kingshard - A high-performance MySQL proxy
- proxysql.com
- 오라클 중복레코드삭제 다양한 방법들 - YouTube
- Oracle | 오라클 클라우드 ATP Database 생성과 DBeaver로 연결하기
- 10 Best Online Courses to Learn Oracle and PL/SQL for Beginners | HackerNoon
- Is Null, Not Null 왜 사용할까요? 당신의 조건문은 Null에 안전한가요?
- examples
- Pro*C
- SQL Query Formatting Tools Used At Percona
- The Steps Involved in Creating a Percona Product Release - Percona Database Performance Blog
- An Overview of Sharding in PostgreSQL and How it Relates to MongoDB's - Percona Database Performance Blog
- PMM
- pstress - Database concurrency and crash recovery testing tool
- pt-online-schema-change
- 한국 PostgreSQL
- Postgres Guide
- PostgreSQL Tutorial
- practice - unique index and null
- Scaling out PostgreSQL for CloudFlare Analytics using CitusDB
- Postgres CLI with autocompletion and syntax highlighting
- Managing big enough data in postgres
- Bottled Water: Real-time integration of PostgreSQL and Kafka
- Compressing PostgreSQL JSONB data 12x using cstore_fdw
- How to update objects inside JSONB arrays with PostgreSQL
- Using PostgreSQL JSONB with Go
- Migrating to JSON in PostgreSQL
- Unleash the Power of Storing JSON in Postgres
- Cut Out the Middle Tier: Generating JSON Directly from Postgres
- PostgreSQL vs. MS SQL Server
- A simple relational data access tool for NodeJS
- A proof of concept MongoDB clone built on Postgres
- Zero-downtime Postgres migrations - the hard parts
- Move fast and migrate things: how we automated migrations in Postgres | by Vineet Gopal | Benchling Engineering
- Upsert Lands in PostgreSQL 9.5 – a First Look
- Postgres UPSERT ON DUPLICATE and how other databases implement UPSERT
- Postgres Job Queues & Failure By MVCC
- PostgreSQL: the good, the bad, and the ugly
- Postgres pushes past MySQL in developer hearts
- Stopping Time In PostgreSQL
- POSTGIS 2.2 LEVERAGING POWER OF POSTGRESQL 9.5
- SQL MERGE is quite distinct from UPSERT
- Watch "Fashion Is Hard. PostgreSQL Is Easy"
- Discovering the Computer Science Behind Postgres Indexes
- Introducing HypoPG, hypothetical indexes for PostgreSQL
- How to scale PostgreSQL on Amazon RDS using pg_shard
- High Availability for PostgreSQL, Batteries Not Included
- High availability and scalable reads in PostgreSQL
- Making Postgres and Elasticsearch work together like it's 2015
- Documenting Your PostgreSQL Database
- Transaction ID Wraparound in Postgres
- Making Postgres Bloom
- POSTGRESQL: A FULL TEXT SEARCH ENGINE - PART 1
- Full-Text Search Battle: PostgreSQL vs Elasticsearch | sudo README
- Postgres Full-Text Search: A Search Engine in a Database
- PostgreSQL 9.5 New Features With Examples
- "Big data" features coming in PostgreSQL 9.5
- Scaling out PostgreSQL at CloudFlare with CitusDB
- Aquameta Layer 0: meta - Writable System Catalog for PostgreSQL
- PostgreSQL Magic
- PostgreSQL, pg_shard, and what we learned from our failures
- A few PostgreSQL tricks
- PostgreSQL replication with Londiste from Skytools 3
- Multi-Master Replication Solutions for PostgreSQL
- EXPLAIN - explained
- PostgreSQL EXPLAIN — pgMustard
- EXPLAIN ANALYZE in PostgreSQL and how to interpret it - Cybertec
- PostgreSQL Foreign Data Wrappers
- PostgreSQL Monitoring Cheatsheet
- PostgreSQL - A Platform for Multiple Sources Data Retrieval
- 다우기술, 포스트그레스 한국어 메뉴얼 공식 오픈
- PostgreSQL 업그레이드 이야기
- Getting PostgreSQL transactions under control with SQLAlchemy
- MySQL vs PostgreSQL - Why you shouldn't use MySQL
- PostgreSQL Schema를 MySQL로 마이그레이션 시켜보자
- PostgreSQL 9.6 Parallel Query & FDW
- Parallel queries in PostgreSQL - Percona Database Performance Blog
- PostgreSQL Exercises
- PostgreSQL에 실시간 기능 도입하기
- The Night the PostgreSQL IDs Ran Out
- 구식 포스트그레SQL이 다시 유행하는 이유
- Modern, native tool for relational database
- PostgreSQL 11 – Server-side Procedures
- PostgreSQL 파티션 테이블
- Five Things You Didn’t Know About PostgreSQL
- How to scale PostgreSQL 10 using table inheritance and declarative partitioning
- Postgres as the Substructure for IoT and the Next Wave of Computing
- PostgreSQL 11 Partitioning Improvements PostgreSQL 11에서 파티셔닝에 관련하여 향상된 기능 소개
- How to build a PostgreSQL database to store tweets - Learning how to stream from Twitter API
- Bye bye Mongo, Hello Postgres
- Guardian에서 MongoDB에서 Postgres로 마이그레이션한 스토리
- 데이터베이스 API Call을 복제하여 구 개의 데이터베이스서 실행하고 로깅을 하는 방법을 포함하여 데이터베이스 롤아웃 및 마이그레이션 작업 과정
- The Internals of PostgreSQL for database administrators and system developers
- Lessons learned scaling PostgreSQL database to 1.2bn records/month
- Parallelism in PostgreSQL
- Postgres Handles More Than You Think
- NoSQL과RDBMS 중 적합한 데이터베이스 선택하기(feat.인스타그램DB)
- Comparison of JOINS: MongoDB vs. PostgreSQL
- Oracle vs PostgreSQL: First Glance
- PostgreSQL vs. Oracle: Difference in Costs, Ease of Use & Functionality | by Kristi Anderson | Jul, 2020 | Medium
- How to Install Postgres 12
- 윈도우에 PostgreSQL 설치하기 - 로스카츠의 AI 머신러닝
- A multi-node, elastic, petabyte scale, time-series database on Postgres for free (and more ways we are investing in our community)
- How one word in PostgreSQL unlocked a 9x performance improvement
- How to Scale Postgres - Automation, Tuning & Sharding - Speaker Deck
- Herding elephants: Lessons learned from sharding Postgres at Notion
- Types of Indexes in PostgreSQL - Highgo Software Inc
- B-tree indexes - learn more about the heart of PostgreSQL - YouTube
- Why We Switched From MongoDB to PostgresSQL
- PSQL TIMESTAMP/AT TIME ZONE 바로 알기 · Billo Park
- psql command line tutorial and cheat sheet | postgres
- Handling NULL Values in PostgreSQL - Percona Database Performance Blog
- PostgreSQL의 슬로우 쿼리에 대처하기 | Hyperconnect Tech Blog
- Why PostgreSQL WAL Archival is Slow - Percona Database Performance Blog
- Lessons Learned from Running Postgres 13: Better Performance, Monitoring & More
- Mastering PostgreSQL Administration
- PostgreSQL 13 Features Distilled. Index optimization, incremental… | by Kovid Rathee | Sep, 2020 | Towards Data Science
- Improving Postgres Connection Scalability: Snapshots - Microsoft Tech Community
- Postgres Observability
- Stored Procedures as a backend. or “How we got rid of Django and whole… | by Oleg Zech | Oct, 2020 | Medium
- BLOB cleanup in PostgreSQL - CYBERTEC | Data Science & PostgreSQL
- PostgreSQL Database Security: What You Need To Know - Percona Database Performance Blog
- Removing PostgreSQL Bottlenecks Caused by High Traffic - Percona Database Performance Blog
- Five Easy to Miss PostgreSQL Query Performance Bottlenecks
- Migrating From Oracle to PostgreSQL - What You Should Know | Severalnines
- A Complete Guide to SQL Triggers in PostgreSQL - DB Tracking Example
- Talking to Postgres Through Java 16 Unix-Domain Socket Channels - Gunnar Morling
- Role of Foreign Data Wrappers in Migrations to PostgreSQL
- Change Data Capture in Postgres With Debezium
- Postgres regex search over 10,000 GitHub repositories (using only a Macbook)
- Faster data migrations in Postgres
- PostgreSQL on ARM-based AWS EC2 Instances: Is It Any Good? - Percona Database Performance Blog
- PostgreSQL: Asynchronous and "direct" IO support for PostgreSQL
- PostgreSQL 데이터 Client에서 KST로 확인하기 (feat. DataGrip)
- Setting up Streaming Replication in PostgreSQL 13 and Streaming Replication Internals - MigOps
- BRIN Index for PostgreSQL: Don't Forget the Benefits - Percona Database Performance Blog
- 10 Things I Hate About PostgreSQL | by Rick Branson | Medium
- PostgreSQL Security Hardening | Teleport
- PostgreSQL RDS Slow 쿼리 Slack으로 알람 보내기
- Using PostgreSQL as a Data Warehouse
- Mac에 PostgreSQL없이 PSQL만 설치하기
- large csv to postgresql 대용량 csv를 입력하는 예(문제가 있음)
- An early look at Postgres 14: Performance and Monitoring Improvements
- Hierarchical Structures in PostgreSQL
- Globally Distributed Postgres · Fly
- Let's build a distributed Postgres proof of concept | notes.eatonphil.com
- PostgreSQL, Memory and the Cloud™ · Alexander Sosna
- PostgreSQL에서 Order By가 선적용되는 슬로우 쿼리 해결책
- Five Things You Didn't Know About PostgreSQL | Kevin's Blog
- PostgreSQL 서버 관리자 지침서
- PostgreSQL 14 on Kubernetes (with examples!)
- Announcing Open Source Babelfish for PostgreSQL: An Accelerator for SQL Server Migration · Babelfish
- AWS Announces the General Availability and Open Sourcing of Babelfish for PostgreSQL
- Bringing Kafka based architecture to the next level using simple PostgreSQL tables | by Sixfold Tech Blog | Oct, 2021 | Medium
- 엔터프라이즈DB, ‘포스트그레SQL 14’ 발표··· "하이엔드 워크로드 지원" - CIO Korea
- Lesser Known PostgreSQL Features | Haki Benita
- Postgres HA: roles are dynamic
- Postgres is a great pub/sub & job server
- 여러컬럼으로 Join 맺어야할 경우의 인덱스
- PostgreSQL (Aurora) 10 vs 11 버전 성능 비교
- NodeJS 와 PostgreSQL Query Timeout
- NOT IN 쿼리 성능 개선하기 (PostgreSQL)
- NodeJS 와 PostgreSQL Connection Pool
- Free Postgres Databases · Fly
- Five Tips For a Healthier Postgres Database in the New Year
- Slow Query 문제
- The Internals of PostgreSQL : Introduction
- How Postgres Stores Rows - Ketan Singh
- How we optimized PostgreSQL queries 100x | by Vadim Markovtsev | Mar, 2022 | Towards Data Science
- blog.md
- Transactional DDL, Locking, Table Operations, Column Operations, Index Operations, Constraints, Enum Types, Bonus: Library for Ruby on Rails
- Postgres everywhere | InfoWorld
- Faster Geospatial Enrichment
- How To Benchmark PostgreSQL Queries Well
- Speeding up sort performance in Postgres 15
- Postgres Handles More Than You Think
- PostgreSQL 14 Internals : Postgres Professional
- Postgres 15 improves UNIQUE and NULL - Blog @ RustProof Labs
- Money operations with Node.js and PostgreSQL | by Alex Vasilyev | Jul, 2022 | Medium
- Postgres Tutorials | Crunchy Data
- Multi-tenant application architecture with Node.js — Express, and PostgreSQL | by Larbi Sahli | Jul, 2022 | Medium
- Postgres System Columns Explained (ctid, xmin,xmax) - YouTube
- Postgres Architecture Explained - YouTube
- Open sourcing our fork of PgBouncer
- Just Use Postgres for Everything | Amazing CTO
- PostgreSQL14 Memoize 성능 비교 (feat. 13 vs 14 Nested Loop)
- PostgreSQL 소개 및 설정 방법 (Nest.js 기준) : 네이버 블로그
- Vacuum
- 베큠(VACUUM)을 실행해야되는 이유 그리고 성능 향상
- Visualizing PostgreSQL Vacuum Progress
- Speeding up recovery and VACUUM in Postgres 14 - Microsoft Tech Community
- PostgreSQL 튜닝 - Autovacuum 최적화에 대하여
- PostgreSQL Autovacuum 장애 대응기 (1). 29CM에서는 Amazon RDS for PostgreSQL를 사용하고… | by Jimin Lee | 29CM 기술블로그 | May, 2021 | Medium
- PostgreSQL Vacuum에 대한 거의 모든 것 | 우아한형제들 기술블로그
- Agg: Parallel aggregations for PostgreSQL
- AlloyDB versus PostgreSQL: a performance review - Vettabase
- What is AlloyDB? - YouTube
- asyncpg -- A fast PostgreSQL Database Client Library for Python/asyncio
- Bottled Water: Real-time integration of PostgreSQL and Kafka
- dms-psql-post-data: Ultimate Script to complete PostgreSQL-to-PostgreSQL Migration right after AWS DMS task done
- EdgeDB
- EdgeDB—The next generation database
- We Can Do Better Than SQL
- EdgeDB - 개발자를 위한 차세대 오픈소스 ORDB | GeekNews
- My experience with EdgeDB · divan's blog
- EdgeDB는 Postures 위에 만들어진 관계형/그래프 데이터베이스
- SQL이 없고 EdgeQL이라는 자체 쿼리 언어가 있는데 이게 엄청 좋아서 다시는 SQL로 돌아가지 않을 생각
- 요즘 추세대로 하나의 바이너리로 모든 걸 할 수 있어서 서버 설치, 데이터베이스 관리, 마이그레이션 모두 가능
- 1년 전부터 사용하기 시작했는데 지금은 회사의 프로젝트도 EdgeDB로 바꾸고 있고 대부분의 경우 "It just works"를 경험, 다양한 기능을 소개
- EdgeDB 1년 사용 후기 - "다시는 SQL로 돌아가지 않을꺼야" | GeekNews
- All You Need to Know about EdgeDB | AppSignal Blog
- Edge DB - 엘키의 주절 주절
- ElephantSQL - PostgreSQL as a Service
- Envelope - Introducing a new paradigm in web application development written specifically for PostgreSQL developers!
- Graphile | Powerful, Extensible and Performant GraphQL APIs Rapidly
- GraphpostgresQL
- Home - Full text search in milliseconds with PostgreSQL
- GraphpostgresQL
- Home - Full text search in milliseconds with PostgreSQL
- Hydra / Query Postgres, Route to any Database
- Kexi - an open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker
- krahodb: An open-source database designed to support multi-master replication. It is designed on the top of PostgreSQL, providing bidirectional replication, as well as row filtering
- Message DB - Microservice Native Event Store and Message Store for Postgres
- meteor-pg - Reactive PostgreSQL for Meteor
- metricflow: MetricFlow allows you to define, build, and maintain metrics in code
- neon: The serverless open source alternative to AWS Aurora Postgres
- odyssey: Scalable PostgreSQL connection pooler
- Ora2Pg : Migrates Oracle to PostgreSQL
- orioledb: OrioleDB – building a modern cloud-native storage engine (... and solving some PostgreSQL wicked problems) 🇺🇦
- pg2ch: Data streaming from postgresql to clickhouse via logical replication mechanism
- pgagroal - a high-performance protocol-native connection pool for PostgreSQL
- pgBackRest - The Best Postgres Backup Tool with a very active community
- pgcat - Enhanced PostgreSQL logical replication
- pgcat: Meow. PgBouncer rewritten in Rust, with sharding, load balancing and failover support
- pgcli - Postgres CLI with autocompletion and syntax highlighting
- pg_flame - A flamegraph generator for Postgres EXPLAIN ANALYZE output
- pgfutter - Import CSV and JSON into PostgreSQL the easy way
- pg_graphql - PostgreSQL용 GraphQL 확장 | GeekNews
- pgmemcache is a set of PostgreSQL user-defined functions that provide an interface to memcached
- pg-migrator - PostgreSQL Migration Tool
- pg-osc: Zero downtime schema changes in PostgreSQL
- pg-shortkey: YouTube-like Short IDs as Postgres Primary Keys
- pgsql: Support GROUPING SETS, CUBE and ROLLUP
- pgsql: Create an infrastructure for parallel computation in PostgreSQL
- pg_stat_monitor: PostgreSQL Statistics Collector
- PG-Strom is an extension of PostgreSQL, works as custom-scan provider
- pgTAP - a suite of database functions that make it easy to write TAP-emitting unit tests in psql scripts or xUnit-style test functions
- PolarDB-for-PostgreSQL
- postgres: Unmodified Postgres with some useful plugins
- Postgres.app – the easiest way to get started with PostgreSQL on the Mac
- PostgresqlCO.NF: PostgreSQL configuration for humans
- PostgREST: REST API for any Postgres database
- Postico – a modern PostgreSQL client for the Mac
- postlite: Postgres wire compatible SQLite proxy
- Psycopg - PostgreSQL driver for Python
- realtime: Listen to your to PostgreSQL database in realtime via websockets. Built with Elixir
- reshape: An easy-to-use, zero-downtime schema migration tool for Postgres
- Slinky - The easiest way to query your PostgreSQL data
- sql_firewall - SQL Firewall Extension for PostgreSQL
- stolon - PostgreSQL cloud native HA replication manager
- ToroDB: A MongoDB-compatible, document-oriented database on top of PostgreSQL
- Vitesse X - A Speed Extension for PostgreSQL
- Yoke - a Postgres redundancy/auto-failover solution that provides a high-availability PostgreSQL cluster that's simple to manage
- Why the SQL Standard does not need another way to do GROUP BY
- sql group by 응용 시험에 최소 1번 이상 통과한 사람과 그렇지 않은 사람 골라내기
- 최대값 및 최소값 조회 (MAX, MIN 함수 대체방법)
- MySQL에서 'a' = 'a '가 true로 평가된다?
- sql 기본 강좌# 개념 파악 및 공부법 안내
- sql 기본 강의 # select를 잘 이용하는 방법(1), 2편 -sTricky
- sql 기본 강의 # select를 잘 이용하는 방법(1), 3편 -sTricky
- sql 공부 강의 # 단일행 함수 잘 사용 하기(문자 함수) 4편 -sTricky
- sql 공부 강의 # 단일행 함수 잘 사용 하기(숫자 함수) 5편 -sTricky
- sql 공부 강의 # 단일행 함수 잘 사용 하기(날짜 함수) 6편 -sTricky
- sql 독학 강의 # 단일행 함수 잘 사용 하기(형 변환 함수) 7편 -sTricky
- sql 독학 강의 # 단일행 함수 잘 사용 하기(일반 함수) 8편 -sTricky
- sql 독학 강의 # 복수 행(window) 함수 잘 사용 하기(기본 사용법) 9편 -sTricky
- sql 독학 강의 # 복수 행(window) 함수 잘 사용 하기(group by) 10편 -sTricky
- sql 독학 강의 # mysql join (정의 및 종류) 11편 -sTricky
- sql 독학 강의 # Cartesian Product 카티션 곱 ansi SQL 문법 12편 -sTricky
- sql 독학 강의 # inner join with ansi SQL 13편 -sTricky
- sql 독학 강의 # 비등가 join with ansi SQL 14편 -sTricky
- sql 독학 강의 # outer join SQL 15편 -sTricky
- sql 독학 강의 # sub query 서브 쿼리 16편 -sTricky
- mysql update sql 독학 강의#17편 -sTricky
- mysql update sql 독학 강의#18편 -sTricky
- mysql delete sql 독학 강의#19편 -sTricky
- insert into on duplicate key MySQL merge SQL 독학 강의#20편 -sTricky
- MySQL DDL문 완전정복 SQL 독학 강의#21편 -sTricky
- MySQL data dictionary SQL 독학 강의#22편
- mysql 제약조건 알아보기 SQL 독학 강의#23편
- index 의 중요성과 이해 SQL 독학 강의#24편
- view 뷰에 대한 이해 SQL 독학 강의#25편
- 주문 고객 상품 테스트용 데이터 생성 및 다운로드
- 프로그래머스 SQL 코딩 테스트 select 문제 풀이
- 프로그래머스 SQL 코딩 테스트 select 문제 풀이 #2
- 프로그래머스 SQL 답 SUM, MAX, MIN 문제 풀이 #03
- SQL Correlated Subqueries - GeeksforGeeks
- Rain in Australia 캐글 날씨 데이터셋 다운로드 받아 mysql에 넣는 방법 DDL Datagrip
- 초보자도 준비하는 SQL 코딩 테스트 시리즈를 마치며...
- How to create a 1M record table with a single query | Anton Zhiyanov
with recursive
- (4) Asheq Reza's answer to What are some useful SQL queries you've found? - Quora
- Best practices for writing SQL queries
- SQL기초강좌(외부조인, outer join), 오라클, MySQL, 내부조인,외부조인,
- 다양한 조인(JOIN) 기법
- What's the difference between NOT EXISTS vs. NOT IN vs. LEFT JOIN WHERE IS NULL?
- All about SQL JOINs
- MSSQL JOIN의 종류설명 및 사용법 & 예제
- SQL Join
- Join 에 관해서 정리해 보겠습니다
- SQL의 핵심, 다양한 종류의 조인 : 네이버 블로그
- Say NO to Venn Diagrams When Explaining JOINs – Java, SQL and jOOQ
- What is Sharding?
- Database의 샤딩(Sharding)이란?
- NHN의 안과 밖: Sharding Platform Spock Proxy, Gizzard, Cubrid Shard 비교
- 샤딩은 쉬워요 샤딩하세요 실제로는 어렵다는 이야기
- Sharding(샤딩)
- 샤딩과 파티셔닝의 차이점
- How we scaled Freshdesk (Part II) – The Sharding and Rebalancing techniques we used
- Sharding: How Many Shards Are Safe?
- DB분산처리를 위한 sharding - 우아한형제들 기술 블로그
- Database의 샤딩(Sharding)이란?
- Understanding Database Sharding | DigitalOcean
- 글로벌 칼럼 | DB 분산 처리 기법 '샤딩', "웬만하면 하지 마라" - ITWorld Korea sharding
- practice - python sqlite
- Appropriate Uses For SQLite
- Finding bugs in SQLite, the easy way
- Don't test with SQLLite when you use Postgres in Production
- The SQLite Query Planner
- Code to transform Hillary's emails from raw PDF documents to a SQLite database
- Full Text Search with SQLite
- Install Python and Sqlite from Source
- 상황; virtualenv에서 pip3 install jupyter 성공 후 실행
- 오류;
ModuleNotFoundError: No module named '_sqlite3'
+ModuleNotFoundError: No module named 'pysqlite2'
- 원인; sqlite3가 제대로 설치되지 않음
- 해결
- 검색 결과 sqlite-devel or libsqlite3-dev를 설치 후 python3 재컴파일 혹은 setup.py의 path 수정
- jupyter에서 간단히 할 일이 있어서 하려고 했던 건데 너무 일이 커져서 귀찮아서 여기서 중지
- How To Corrupt An SQLite Database File
- SQLite Is Serverless
- Sharing an SQLite database across containers is surprisingly brilliant
- SQLite As An Application File Format
- How does SQLite work? Part 1: pages!
- How does SQLite work? Part 2: btrees! (or: disk seeks are slow don't do them!)
- LPC-2019: SQLite on Linux
- SQLite 개념/구조/멀티 DB 실사용기 :: 메모장
- SQLite as a document database
- Many Small Queries Are Efficient In SQLite
- SQLite에서는 작은 쿼리 수백개도 효율적 (sqlite.org)
- 웹페이지 하나 표시하는데 200개의 SQL문장을 쓴다면 MySQL,PostgreSQL 같은 기존 C/S DB에겐 과도함
- SQLite에서는 200개 이상의 쿼리도 별 문제 없음
- → 복잡하고 큰 쿼리도 잘 효율적으로 실행하지만, 작은 쿼리가 많아도 효율적
- → SQLite는 Client/Server 방식이 아니고 프로세스내에서 함수호출하는 방식이기에 N+1 Query Problem이 적용되지 않음
- SQLite의 소스 타임라인을 표시하는 동적 웹페이지에서 사용하는 실제 SQL 문장 240여개를 볼 수 있음
- SQLite is not a toy database | Anton Zhiyanov
- SQLite를 토이 데이터베이스로 보는 사람도 많지만, 개발자가 아니어도 SQLite 활용 부문 많음
- Console을 제공하므로 쉽게 조회 가능
- CSV 파일도 임포트해서 SQL 문으로 조회 가능
- 가상 테이블로 만들어서 조회하면 2배나 빠름
- JSON 파일로 SQLite로 읽어서 조회 가능
- 미디언, 퍼센타일 등의 값도 쉽게 조회 가능
- Full-text 검색 지원
- SQLite는 동시 엑세스를 지원하지 않는다는 오해도 있지만 write-ahead log 모드가 오래전에 추가되어 리더를 원하는 대로 추가 가능
- What’s new in SQLite 3.35 | Anton Zhiyanov
- Cross-database queries in SQLite (and weeknotes) Querying json data
- CG/SQL: Easy, accurate SQLite code generation - Facebook Engineering
- DB Browser for SQLite
- SQLite the only database you will ever need in most cases
- Exploring Tweets with SQLite + WASM - Divyendu's Blog
- Hosting SQLite databases on Github Pages - (or any static file hoster) - phiresky's blog
- SQLite in production with WAL
- The Untold Story of SQLite With Richard Hipp - CoRecursive Podcast
- Show HN: SQLite query inside a Bash function | Hacker News
- Using sqlite3 as a notekeeping document graph with automatic reference indexing
- 35% Faster Than The Filesystem
- Hosting SQLite databases on Github Pages - (or any static file hoster) - phiresky's blog
- Comparing SQLite, DuckDB and Arrow with UN Trade Data · Pachá
- MySQL을 SQLite로 변경 - 신현석(Hyeonseok Shin)
- Wesley Aptekar-Cassels | Consider SQLite
- Store SQLite in Cloudflare Durable Objects - Markus Ast
- JSON improvements in SQLite 3.38.0
- SQLite in Go, with and without cgo
- I'm All-In on Server-Side SQLite · Fly
- Go의 임베디드 키/밸류 데이터베이스인 BoltDB를 만든 Ben Johnson이 배포 서비스인 Fly.io에서 Litestream을 계속 작업
- Litestream은 SQLite를 리플리케이션을 이용해서 유지할 수 있게 하는 프로젝트
- BoltDB는 Go로 스키마를 작성해야 해서 마이그레이션이 어려운 등의 단점이 있었고 더 많은 프로그램에서 사용할 수 있도록 해야 할 작업을 고민하다가 SQLite이 이를 위해 존재한다는 결론
- SQLite를 기본으로 사용하지 않는 이유는 스토리지 오류에 대한 복원력이고 규모에 따른 동시성 때문인데 SQLite에는 우리가 필요로 하는 기능의 99.9%가 있고 애플리케이션 바로 옆에 배치할 수 있어서 속도 이점
- Why SQLite may become foundational for digital progress | VentureBeat
- Temporary tables in SQLite
- Cron-based backup - Litestream
- One-liner for running queries against CSV files with SQLite | Simon Willison’s TILs
- SQLite or PostgreSQL? It's Complicated!
- SQLite Internals: Pages & B-trees · Fly
- Turning SQLite into a distributed database
- Proceedings of the VLDB Endowment
- absurd-sql: sqlite3 in ur indexeddb (hopefully a better backend soon)
- cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite
- dbench: An unscientific benchmark of SQLite vs the file system (btrfs)
- edge-sql - A serverless edge worker embedding SQLite using Cloudflare Workers and WASM
- IceFireDB SQLite database - a decentralized SQLite database
- LiteFS Introducing LiteFS · Fly
- fly.io에서 Litestream의 아이디어를 확장한 LiteFS 공개
- Litestream이 SQLite WAL 파일을 복사한다면 LiteFS는 각 트랜잭션을 검사하고 전달하는 역할
- 이를 위해서 FUSE를 선택해서 앱과 데이터베이스 파일 사이에 파일 시스템 프락시 같은 걸 넣어서 트랜잭션을 리플리카에 복사 가능
- I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS
- Kent C. Dodds가 자신의 사이트를 PostgreSQL을 이용해서 fly.io 이용중
- fly.io의 Litestream와 LiteFS를 알게 되어 SQLite로 이동
- 이전에는 멀티리전 데이터베이스를 위해 primary 리전에 직접 write
- SQLite는 로컬에 떠 있으므로 이 방법을 사용 불가
- fly.io에서 지원하는
fly-replay
응답 헤더를 통해 primary 리전에서 처리되도록 하는 방법 사용
- 단일 리전에서 동작하도록 마이그레이션 준비가 끝난 뒤에 LiteFS를 설정
fly-replay
응답 헤더를 통해 멀티 리전 처리 가능- 이 부분 외에는 멀티리전을 위한 코드의 영향은 없었음
- Kent C. Dodds가 자신의 사이트를 PostgreSQL을 이용해서 fly.io 이용중
- Litestream - Streaming SQLite Replication
- react-native-sqlite-storage - SQLite Native Plugin for React Native
- rqlite: The lightweight, distributed relational database built on SQLite
- simple-graph: This is a simple graph database in SQLite, inspired by "SQLite as a document database"
- SpatiaLite: SpatiaLite
- sqlean: All the missing SQLite functions
- SQLime - SQLite Playground
- sqlite3 fiddle
- sqlite3-to-mysql: Transfer data from SQLite to MySQL
- sqlite-http: A SQLite extension for making HTTP requests purely in SQL
- sqlite-lines: A SQLite extension for reading large files line-by-line (NDJSON, logs, txt, etc.)
- sqlitestudio.pl
- SQL OnLine IDE
- wp-sqlite: WordPress running on an SQLite database
- ws4sqlite: Query sqlite via http
- A simple Python script to document the SQLite databases
- Do You Know Python Has A Built-In Database? | by Christopher Tao | Towards Data Science
- Towards Inserting One Billion Rows in SQLite Under A Minute - blag
- 파이썬 Python 코딩 - 전화번호부 만들기2 (SQLite DB 사용) - YouTube
- SimpleSQLite - Python library to simplify the table creation and data insertion in SQLite database (Automatic table creation from data. Support various data type for insertion: dictionary/namedtuple/list/tuple) http://simplesqlite.readthedocs.org/en/stable/apis/simplesqlite.html
- SQLite-Image-Handler: Simple to use image handler for python sqlite3.
- sqlite-tutorial-pycon-2023