- 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
- Tiger Beetle Redesigning OLTP for a New Order of Magnitude - YouTube
- VidiGo | ๋น๋๊ณ - Analyze Video AI
- ์ธ๊ณ๋ ๋์ฑ ๊ฑฐ๋์ ์ผ๋ก ๋ณํํ๊ณ ์๋ค
- ์ธ๊ณ๋ ์๋ฒ์์ ์๋ฒ๋ฆฌ์ค, ์ด๋น ์ฒญ๊ตฌ๋ก ๋ณํ, ์๋์ง ์์ค๋ ์ํ์์ ํด๋ฆฐ ์๋์ง๋ก ์ ํ๋์ด ๋ ๊ฑฐ๋์ ์ผ๋ก ๋ณํ
- ์ธ๋์ upi๊ฐ 2019๋ ์ 100์ต ๊ฑด์ ์ค์๊ฐ ๊ฑฐ๋ ์ฒ๋ฆฌ, ์ด๋ ๋ค๋ฅธ ๊ตญ๊ฐ๋ค๋ ๋ค๋ฐ๋ฅด๊ณ ์์์ ์์ฌ
- ์จ๋ผ์ธ ๊ฑฐ๋ ์ฒ๋ฆฌ๋์ด ์ฌ๋ฌ ๋ถ์ผ์์ ํฌ๊ฒ ์ฆ๊ฐํ์ผ๋, ๊ฐ์ฅ ์ธ๊ธฐ ์๋ oltp ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 20~30๋ ์ ์ค๊ณ
- OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ค๊ณ ํ์์ฑ
- ํ์ฌ oltp ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์บ์ฑ ์์กด์ฑ ์ฆ๊ฐ์ ๋๊ท๋ชจ ๋ฐฐํฌ ๋ฌธ์ ๊ฒฝํ, ์ผ๋ถ ์์คํ ์ ์์ ํ ๋ค๋ฅธ ๊ธฐ์ ๋ก ์ ํ ์ ํ
- ์คํ์์ค oltp ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌํ ์๋ฏธ์์ ์จ๋ผ์ธ ์๋, ์ผ๋ถ ์์คํ ์ ํ๋กํ๋ผ์ด์ดํฐ๋ฆฌ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ด๋
- Oltp๋ฅผ ์๋ฐฑ๋ง ๋จ์์ ํธ๋์ญ์ ์ผ๋ก ํ์ฅํ ์ ์๋ ๋ฐฉ๋ฒ ๋ชจ์ ํ์, ์ด๋ฅผ ์ํด์๋ ์ค์ผ์ผ ๋ฐฉ์ ๋ณ๊ฒฝ์ด ์ค์
- Tiger Beetle์ ํ์๊ณผ ๋ชฉ์
- Tiger beetle์ ๋ถ์ฐ ๊ธ์ต ํธ๋์ญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ต์ ํํ์ฌ oltp ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๊ฐ๋ฐ
- Tiger beetle์ apache 2 ๋ผ์ด์ผ์ค ํ์ ๊ณต๊ฐ๋๋ฉฐ ๋ชจ๋ ํ๊ฒฝ์์ ์ด๋ค ๊ท๋ชจ์ oltp๋ ์คํํ ์ ์๋ ๋ชฉํ
- Oltp์ ๊ด๋ จ๋ ๋ชจ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ด ํ๋ฉด์ผ๋ก ์ด๋์์ผ ์ผ๋ฐ ๋ชฉ์ ์ฒ๋ฆฌ์ oltp ์ฌ์ด์ ๊ตฌ๋ถ ๊ฐ๋ฅ
- ๋๋ธ ์ํธ๋ฆฌ ํ๊ณ์ OLTP์ ๊ฒฐํฉ
- ๋น์ฆ๋์ค ํธ๋์ญ์ ์ ์ถ์ ํ๊ธฐ ์ํ ์๋ฒฝํ ์คํค๋ง๋ก์ ๋๋ธ ์ํธ๋ฆฌ ํ๊ณ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ oltp ์ํฌ๋ก๋ ์ต์ ํ
- ๋จ์ผ ๋คํธ์ํฌ ์์ฒญ์ผ๋ก ์์ฒ ๊ฐ์ ๋น์ฆ๋์ค ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์ฟผ๋ฆฌ ์ฆํญ์ ์ฐ๋ฆฌ์ ์ด์ ์ผ๋ก ์ ํ
- ๊ณ ์ ํฌ๊ธฐ ๊ตฌ์กฐ์ฒด์ ๋น์ฆ๋์ค ํธ๋์ญ์ ์ ํจํนํ์ฌ ๋คํธ์ํฌ ์์ฒญ๋น ์ต๋ 1๋ง ๊ฐ๊น์ง ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋ถ์ฐ ์์คํ
์ ํจ์จ์ ์ธ ํธ๋์ญ์
์ฒ๋ฆฌ
- ๋ณต์ ๋ ์ํ ๋จธ์ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ์ ์ฒด์์ ๋์ผํ ์ํ๋ฅผ ์ ์ง
- Tiger beetle์ ์ฑ๊ณต์ ๊ฐ์ ํ๊ณ ์ค๋ฅ ์ฝ๋๋ง ๋ฐํํ์ฌ ๋คํธ์ํฌ ํธ๋ํฝ ์ ์ฝ
- ์ต์ํ์ ์์คํ ํธ์ถ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋ณต์ฌ๋ก ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ๋ ๋ฌ์ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ์ต์ ํ ์ ๋ต
- Oltp ์์ ๋ถํ์์ ๋ฐ์ํ๋ ๊ฒฝํฉ์ ์ค์ด๊ธฐ ์ํด tiger beetle์ ๊ณ ์ ํ ๋คํธ์ํฌ ํ๋กํ ์ฝ ์ฌ์ฉ
- ์ปดํจํ ํ์์ ๋ฐ์ ๊ณผ ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ์์ง ๋ฐ ์ํ ํ์ฅ ๋ฐฉ์ ํผํฉ
- Lsm ํธ๋ฆฌ์ ๊ฐ์ ์ต์ ๋ฐ์ดํฐ ์ ์ฅ ๊ธฐ์ ์ ์ ์ฉํ์ฌ ์ฐ๊ธฐ ์ง์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ฑ๋ฅ ๊ฐ์
- Tiger Beetle ์คํ ๋ฆฌ์ง ์์ง์ ํ์
- Tiger beetle์ ๋ชจ๋ ๋ฐ์ดํฐ ์์กด์ฑ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ ์บ์ฑํ์ฌ ๋์คํฌ i/o ์์ด ํธ๋์ญ์ ์คํ
- ๋ค์ํ lsm ํธ๋ฆฌ ๊ธฐ๋ฒ ๊ฐ๋ฐ๋ก ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ๊ณผ ์ฐ๊ธฐ ์ง์ฐ ์๋ ํ๊ฒฝ ์ ๊ณต
- ๋ฐ์ดํฐ ํ์ผ์ ๊ฒฐ์ ๋ก ์ ์์ฑ์ผ๋ก ๋น ๋ฅธ ๋ณต๊ตฌ์ ๋ ๋์ ๋ด๊ตฌ์ฑ ๋ฌ์ฑ
- ํฉ์ ํ๋กํ ์ฝ๊ณผ ์คํ ๋ฆฌ์ง ์์ง์ ๊ฒฐํฉ
- Tiger beetle์ ํฉ์ ๋ก๊ทธ ํ๋๋ก 8,000๊ฐ์ ํธ๋์ญ์ ์ ๋ณต์ ํ์ฌ ํฉ์ ๋น์ฉ ์ต์ํ
- View stamp replication ํ๋กํ ์ฝ ์ฌ์ฉ์ผ๋ก ๊ณ ํจ์จ ๋๊ธฐํ ๋ณต์ ๋ฐ ์๋ ์ฅ์ ์กฐ์น ๊ตฌํ
- ๊ธ๋ก๋ฒ ์ค๋ณต์ฑ ํ์ฉ๊ณผ ์คํ ๋ฆฌ์ง ์์ง๊ณผ ํฉ์ ํ๋กํ ์ฝ ๊ฐ ๊ธด๋ฐํ ํตํฉ์ผ๋ก ๋ด๊ตฌ์ฑ ๋ฐ ํ๋ณต๋ ฅ ๊ฐํ
- ํฉ์ ํ๋กํ ์ฝ ๋น๊ต Raft์ VSR
- ๊ฐ์ฅ ์ง๊ด์ ์ด๊ณ ์ต์ ํ๋ ํฉ์ ๋ ผ๋ฌธ ์ค ํ๋๋ก ์๊ฐ
- Raft์ vsr์ ๋ฆฌ๋ ์ ์ถ ๋ฐฉ์์์ ์ฐจ์ด; vsr์ ๋ค์ ๋ฆฌ๋๊ฐ ๋๊ตฌ์ธ์ง ์์ธก ๊ฐ๋ฅ
- Vsr์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์คํ๋ ์ ์์ด ๋์คํฌ ์์ ์ ๋ํ ๋ถ๋ด ๊ฐ์
- Raft์ ํ๊ณ์ Tiger Beetle์ ํ์
- Raft๋ ์ ์ฅ ์ฅ์น ๊ฒฐํจ์ ์ฒ๋ฆฌํ์ง ๋ชปํด ํด๋ฌ์คํฐ ์ค์ง ๊ฐ๋ฅ
- Tiger beetle์ ์ํธํ ํด์ ์ฒด์ธ์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๋ณต๊ตฌ ์ต์ ํ
- Tiger beetle์ ๊ฒฐ์ ๋ก ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ฅผ ํตํด ๊ณ ์ฑ๋ฅ๊ณผ ์์ ์ฑ ์ ๊ณต
- Tiger Beetle ์๋ฎฌ๋ ์ด์
๊ณผ ์ค์ ์ ์ฉ ์ฌ๋ก
- Tiger beetle ์๋ฎฌ๋ ์ดํฐ๋ ๋ค์ํ ๋คํธ์ํฌ ๋ฐ ์ ์ฅ ์ฅ์น ๊ฒฐํจ ํ ์คํธ
- Golden gate bridge์์ ์คํ๋๋ tiger beetle ํด๋ฌ์คํฐ ์๋ฎฌ๋ ์ด์ ์๊ฐ
- ์๋ฎฌ๋ ์ด์ ์ ํตํด tiger beetle์ ๋ด๊ตฌ์ฑ๊ณผ ์ฑ๋ฅ์ ๊ฒ์ฆ ๊ฐ๋ฅ
- ์ธ๊ณ๋ ๋์ฑ ๊ฑฐ๋์ ์ผ๋ก ๋ณํํ๊ณ ์๋ค
- ์๋ก์ด ๊ท๋ชจ๋ฅผ ์ํ OLTP ์ฌ์ค๊ณ | ์๋ฒฝํ ์์์์ฝ, ๋ฆด๋ฆฌ์ค์์ด์์ด | Lilys AI
-
- ์๋ฒ๋ฆฌ์ค ์ปดํจํ ๊ณผ ์๋์ง ๊ฑฐ๋์ ๋ณํ.
- ์ธ๊ณ๊ฐ ์ ์ฐจ ํธ๋์ญ์ ์ค์ฌ์ผ๋ก ๋ณํ. ์๋ฒ๋ฅผ ์๋ฒ๋ฆฌ์ค๋ก, ์ฒญ๊ตฌ๋ฅผ ์ด๋น์ฒญ๊ตฌ๋ก ์ ํ
- ๊ณผ๊ฑฐ 3๋ ๋ง๋ค ์๋ฒ๋ฅผ ๊ตฌ๋งคํ๊ฑฐ๋ ์๋จ์ ์๋๋ฅผ ํ๋ค๋ฉด, ์ง๊ธ์ ๋งค ์ด๋ง๋ค ์ค์ํ ๊ฑฐ๋
- ๋ํ ์ํ์์ ๊นจ๋ํ ์๋์ง๋ก์ ๋ณํ๋ ์งํ ์ค, ์ธ๊ณ ๊ณณ๊ณณ์ ์ค๋งํธ ๋ฏธํฐ๊ฐ ์ด์ ํ ๋ฌ์ ํ ๋ฒ์ด ์๋ 30๋ถ๋ง๋ค ์๋์ง ๊ฑฐ๋
- ์๋ฒ๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์ง ์ฌ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์ ์ ์ง, ์บ์ฑ ์์กด๋ ์ฆ๊ฐ, ๋ด์ฌ๋ ๋งค๊ทธ๋ํฌ๋์ ๋ํ ์ฌ์ค๊ณ ํ์์ฑ
-
- ์ธ๋์ ๋ธ๋ผ์ง์ ๊ฒฐ์ ํธ๋์ญ์ ์์น ์์
- ์ธ๋ UPI๋ 2019๋ ์ 100์ต๊ฑด์ ์ค์๊ฐ ๊ฑฐ๋ ์ฒ๋ฆฌ, ์ฌํด 8์๋ง 100์ต๊ฑด ์ฒ๋ฆฌ
- ๋ธ๋ผ์ง์ ์ 30์ต ๊ฑด์ผ๋ก, ๋งค๋ 200% ์ฑ์ฅํ๊ณ ์์ด, ์ธ๋ ์ ๋ํ๋ฉฐ ๋ค๋ฅธ ๋๋ผ๋ค๋ ๋ค์ณ์ง์ง ์์
- ์ธ๊ณ๋ ์ ์ฐจ ๋ ๋ง์ ๊ฑฐ๋๋ก ๋ณํํ๊ณ ์์ผ๋ฉฐ ์จ๋ผ์ธ ๊ฑฐ๋๋์ ์ธ ๊ฐ์ง ์นํฐ์์ ์ธ ๋ฐฐ ์ฆ๊ฐ
- ์ค๋๋ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ PostgreSQL, MySQL ๋ฐ SQLite์ 20~30๋ ์ ์ค๊ณ, ์๋ก์ด ์ธ๊ณ์ ๊ท๋ชจ์ ๋ถ์ ํฉ
- 3.๏ธ ์์ ํญ DB์ธ TigerBeetle๋ก OLTP์ ์ค์ผ์ผ๋ง๊ณผ ์์ ์ฑ์ ๋์
- ์ด์ ๊ฒฝ๋น: ์ถ๊ฐ ์ฅ์น์ ๋ํ ๋น์ฉ ์ง๋ถ๊ณผ, ์ด์ ๊ฒฝํ์ ๋ณํ ์ค์
- ์ฐ์ ๊ณตํ์ '๋ ์ ์ ๋ฆฌ์์ค๋ก ๋ ๋ง์ ๊ฒ์ ํ๋ค'์ ๊ด์ , ๋จ์ผ ๋จธ์ ์์ ์๋ฐฑ๋ง ํธ๋์ญ์ ์ผ๋ก ํ์ฅํ๋ ๊ฒ์ด ๋ชฉํ
- ์๋ก ๋ค๋ฅธ ์์ผ๋ก ๋ณดํต ์ดํด๋๋ ์ปดํจํฐ๊ณผํ ์๋ฆฌ๋ค์ ํ๋๋ก ์กฐํ๋กญ๊ฒ ๊ฒฐํฉํ๋ ์ต์์ ๋์์ธ ๊ณ ๋ฏผ, ์ด๋ก์จ TigerBeetle ์ฐฝ์กฐ
- OLAP๊ณผ์ ์ฐ๊ด์ฑ, ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ฑ์ ๊ณ ๋ คํ TigerBeetle์ ์์ ํ๊ณ ํจ์จ์ ์ธ OLTP ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ถ์ฐ ๊ธ์ต ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- 4.OLTP ๋ฒค์น๋งํฌ, Debit Credit๊ณผ ACID
- Debit Credit์ ์ฒซ OLTP ๋ฒค์น๋งํฌ์๊ณ , Jim Gray์ 24๋ช ์ ๊ณต๋ ์ ์๋ค์ด ์ฐธ์ฌ
- Jim Gray๋ Tandem์์ Transactions Processing ์ ๋ฌธ๊ฐ๋ก ํ๋ํ๋ฉฐ ACID ์ฉ์ด์ ๋ค์ฏ ๋ถ ๊ท์น์ ์ ์
- ์ด๋ก ์ธํด ๋ค์ํ ๋ฒค์น๋งํฌ ์ ์์ด ์ผ์ด๋๊ฒ ๋๊ณ Transaction Processing Performance Council์ด ํ์ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์ธ์ด๊ฐ SQL์ธ ๋ฐ๋ฉด ์ค์ ๋น์ฆ๋์ค ํธ๋์ญ์ ์ธ์ด๋ ์ด์ค ๋ถ๊ฐ ํ๊ณ์ด๋ฉฐ, ์ด๊ฒ์ด ์ฟผ๋ฆฌ ์ฆํญ์ ๊ธด์ฅ ์ผ๊ธฐ
-
- Double Entry์ ์ฅ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ์ ์ญ์ฌ์ ๋ณํ
- Double Entry์ ์ฅ์ ์ OLTP ๋น์ฆ๋์ค ๊ฑฐ๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ณ ํ์คํ๋์ด
- ์๋ก ๋ค๋ฅธ 128๋ฐ์ดํธ ๊ฑฐ๋/๋ ๊ฐ์ CPU ์บ์ ๋ผ์ธ์์ ๋์ผํ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋ ๋จ์ผ ๋คํธ์ํฌ ์์ฒญ์์ ์ต๋ 8,000๊ฐ ๊ฑฐ๋ ์ฒ๋ฆฌ
- ๊ฑฐ๋๋ UUID, ๋์คํธ๋ฆฌ๋ทฐํฐ๋, ์ฆ๊ฐ์ ์ฉ ๊ณ์ ID, ๊ฑฐ๋ ์๊ฐ/๋ฉํ๋ฐ์ดํฐ ๋ฑ ํ์, ๋ฉ๋ชจ๋ฆฌ ๋ฐด๋๋๋๋ก ์ธํ DB ๋์์ธ ์ญ์ฌ์ ์ธ ๋ณํ ์ค๋ช
- ๋์ด๋๋ ๋ถํ์ ๋ฐ๋ผ ์์ฒญ์ด ์ถฉ์๋๊ณ ์๋ง์ ๊ฑฐ๋๊ฐ ๋ฐ์ํ๋ฉด ์ต๊ณ ์ ์ฒ๋ฆฌ๋๊ณผ ๋ก์ฐ ๋ ์ดํด์๋ฅผ ์ ๊ณต
- 6.๏ธ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ์ ์ํ Zigํ๋ก๊ทธ๋๋ฐ
- ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด 'ํ๋ฆฐ์ํ ์ค๋ธ ์ ๋ก ๋ฉ๋ชจ๋ฆฌ ์๋ก์ผ์ด์ '์ ํฌ์
- ์คํํธ์ ์ ๋ชจ๋ ํ์ํ ๊ฒ์ ํ ๋นํ๋ฉฐ ๋ฐํ์์๋ 'malloc' ๋๋ 'free' ์ฌ์ฉํ์ง ์์. Zig์ ํฌ์ํ ์ด์ ๋ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ๊ณผ ์ผ์น
- ๋ถ์ฐ ๋ก๊ทธ์ ์ํ ๋จธ์ ์ํคํ ์ฒ๋ฅผ ํ์ฉํ์ฌ ํจ์จ์ ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ ์ง
- ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์ต์ ํํ์ฌ ๊ณ์ ์ ๋ฐ์ดํธ ๋ฝ์ ์ ๊ฑฐํ๊ณ ํธ๋์ญ์ ์ฒ๋ฆฌ๋์ ๊ทน๋ํ
- ์ํ ์ค๋์ ๊ณ์ข ๋ณ๋ก 16,000๊ฐ์ ๋ฝ์ ํ์๋ก ํ๋ OLTP ์ํฌ๋ก๋์ ๋ณ๋ชฉ ํ์์ ๊ทน๋ณตํ๊ธฐ ์ํ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ๋ก ๊ตฌํ
-
- ๋คํธ์ํฌ ๋ ๊ธฐ๋ค๋ฆฌ๊ณ ์ฑ๋ฅ ํฅ์๋ฐฉ๋ฒ ํธ๋ผ์ด๊ฑฐ ๋นํ
- ํธ๋์ญ์ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ CPU๋ฅผ ๋คํธ์ํฌ ์์ฒญ์ผ๋ก ๋๋ ค์ง์ง ์๊ฒ ํด์ผํจ
- ํธ๋์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ CPU ์ฝ์ด์ ๋ณต์ ํ์ฌ ์ฑ๋ฅ์ ๋ถ๋ฆฌ๋ก ์ค์ผ์ผ๋ง์ ๊ฐ๋ฅํ๊ฒ ํจ
- ํธ๋์ญ์ ์คํ ๊ณผ์ ์์ IO๊ฐ ์๊ฒ ํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ๋์คํฌ์ ๋คํธ์ํฌ๋ฅผ ๊ฑด๋๋ฆฌ์ง ์์
- B-ํธ๋ฆฌ์ LSM ํธ๋ฆฌ๋ก ์ ์ ๋น์ฉ์ ๊ณ ๋ คํ์ฌ ํธ๋์ญ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋น ๋ฅด๊ฒ ์ด๋์ํค๊ณ ์บ์ฑ ๊ธฐ์ ์ ํ์ฉ
- ๋ผ์ดํธ ์คํจ ๋ฌธ์ , ์ปดํฉ์ ์์ ์ ์์ธกํ๊ณ ์ ํํ์ฌ ๋น๋๊ธฐ์ ์ฐจ๋จํ์์ ์ต์ํ
-
- LSM ํธ๋ฆฌ์์ LSM ํฌ๋ ์คํธ๋ก ๋ฐ์
- ์๊ฐ์ ๋ฐ(bar)๋ก, ๋ฐ(bar)์ ๋นํธ(beats)๋ก ๋๋๊ณ , ๊ฐ ์์ฒญ๊ณผ ๊ด๋ จ๋ CPU, ๋์คํฌ, ๋ฉ๋ชจ๋ฆฌ ์์ถ์ ์ด ๋นํธ๋ค์ ํ์ผ์ ์ผ๋ก ํผํธ๋ฆผ
- ๊ฐ์ ๋๊ณ ์ ํ๋ ๊ธฐ์ ์ ๊ฐ๋ฐ์ง ์ฝ๋ ์ ์ฒ๋ผ ์๊ฐ, 'stop-the-world'์์ 'pause, jitter-free compaction' ์ ํ ๋ฐฉ๋ฒ ์ค๋ช
- ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด ํ๋์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ์๊ฐ, ์ด๋ก ์ธํด ์ด๋ ์์ ์์๋ RUM ์ถ์ธก์ ๋์ด์์ผ ํ ๊ฒ์ด๋ผ ์ ์
- ๋ค์ํ ์ฌ์ด์ฆ/์ ํ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํธ๋ฆฌ์ ์ ์ฅํ๋ ๋ฌธ์ ๋ ๋ค๋ฅธ ์์ ์ต์ ํ์ ์ํฅ, ์ด๋ฅผ ํด๊ฒฐ์ํด 'RUMBER'๋ก ๋ฐ์ ์ํค๋ ๋ฐฉ๋ฒ ์๊ฐ
- ๋น์ทํ ์์ ์ ํ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ธฐ, ์ฝ๊ธฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ 'LSM ํฌ๋ ์คํธ'๋ก ์ ํํ๋ ์์ ์ ์
-
- ์ ์ฅ ๋ฐฉ๋ฒ๊ณผ ๋ฐ์ดํฐ ์์ค์ ๋ํ ๊ณ ์ฐฐ
- NetApp๊ณผ์ ์ฐ๊ตฌ์์ ๋ณด๋ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ ์ฅ ๋งค์ฒด์ ๋ด๊ตฌ์ฑ์ด ์ค์
- Scale ํ๊ฒฝ์์๋ ์์ ํ๋ฅ ์ด ์ปค์ง๋ค. BSE ์์ฝํ ์ฐ๊ตฌ์์ 2๋ ๋์ ์ปค๋ฎค๋ํฐ ๋์คํฌ๋ 0.5% ๋ฐ์ดํฐ ์์ ๊ฐ๋ฅ์ฑ
- SQLite๋ ๋ฐ์ดํฐ์ ๋๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ๋ฐ์ดํฐ ์ค๋ณต์ ์ถ๊ฐํ์ง ์์๋ค. ๊ทธ๋ก ์ธํด ๋ฐ์ดํฐ ์์ค ๊ฐ๋ฅ์ฑ ๋์
- PostgreSQL๊ณผ MySQL์ ๋น์ ์ ์ข ๋ฃ ์ผ๊ด์ฑ ๋ชจ๋ธ์ ๊ฐ์ท์ง๋ง, ์ ์ฅ ๊ณ ์ฅ ๊ฐ์ง๋ ๋ณต๊ตฌ์๋ ์ทจ์ฝ
- Tigerle์ ๋ช ์์ ์ ์ฅ ๊ณ ์ฅ ๋ชจ๋ธ๋ก ์ค๊ณ, ์ ์ฅ ๊ณ ์ฅ์ด ๋ฐ์ํ๋ค๋ฅผ ์ ์ ๋ก ํ์ฌ ๋ฐ์ดํฐ ์์ค์ ์ค์ด๊ธฐ ์ํ ์ ๋ง์ ๊ธฐ์ ์ฌ์ฉ
-
- Tiger Beetle์ ์คํ ๋ฆฌ์ง ์์ง ๊ธฐ์
- Tiger Beetle์ ๋ถ๋ชจ ์์ ๊ฐ์ ์ฒดํฌ์ฌ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง
- ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ ๋ฒ์งธ ์์ Write-Ahead Log๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ ์์ ์๋ณํ๊ณ ๋ณต๊ตฌ
- Just-In-Time compaction ๊ธฐ์ ํตํด ์ ์ฅ ์์ง์ด deterministicํ๊ฒ ํ์ผ ์์ฑ, RAID๊ฐ์ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ํจ์จ์ ์ธ global redundancy ์ ๊ณต
- ์คํ ๋ฆฌ์ง ์์ง๊ณผ ํฉ์ ํ๋กํ ์ฝ์ ํตํฉํ์ฌ ๋ก์ปฌ ์ฅ์ ์์ ๊ธ๋ก๋ฒ ์ฌ์์ฐ์ฑ์ ๋ณด์ฅ, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ/์ฑ๋ฅ ํฅ์ ๊ธฐ์ ์ ํตํฉ
-
- ๋ณต์ ์ ํฉ์ ๊ธฐ์ ์ ์ฐจ์ด์ ๋ฐ ๋์ ๋ฐฉ์ ๋น๊ต
- ๋ณต์ ์ ํฉ์์๋ 8,000๊ฐ์ ํธ๋์ญ์ ์ ๋ณต์ ํ๋ ํ ํฌ๋์ด ์ฌ์ฉ
- ํฉ์ ๋ก๊ทธ์ ๋จ์ผ ํญ๋ชฉ์ 8,000๊ฐ์ ํธ๋์ญ์ ์ ๋ณต์ , ์์คํ ๋ด์ ์ค๋ณต ๋ฐ์ดํฐ ์ ์ก ๊ฐ์
- VSR ํ๋กํ ์ฝ์ Raft์ ๋นํด ๋ฆฌ๋ ์ ์ถ ๋ฐ ๋ฐ์ดํฐ ๋ณด๊ด ์ธก๋ฉด์์ ๋ ์ ํฉํ ๊ธฐ์ ๋ก ์ธ์
- Raft๋ ๋ ํ๋ฆฌ์นด ๊ฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ด๋ฆฌ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ง๋ง VSR์ ์ด๋ฅผ ์์ฝ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋ฆฌ๋์ ๋ฐฑ์ ๋ ํ๋ฆฌ์นด ๊ฐ ์ ์ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ์์ฐ๋ฅด๋ ํฉ์ ํ๋กํ ์ฝ์ ์ค์์ฑ์ ๊ฐ์กฐ
-
- ์ ์ฅ ์ฅ์ ๋๋น๋ก VSSR๊ณผ Raft๋ฅผ ํผ์ฉํ๋ Tiger Beetle์ ๋ ํนํ ๊ธฐ์
- VSR์ ๋ฉ๋ชจ๋ฆฌ์์๋ง ์คํ๋๋ ํ๋กํ ์ฝ๋ก Raft์ ๊ฐ์ด ์์ ๋ ์ ์ฅ์ฅ์น์์๋ ์๋ ๊ฐ๋ฅ
- Tiger Beetle์ VSR๊ณผ ํ๋ ฅํ์ฌ ๋์คํฌ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๊ณ ๋ณต๊ตฌ ๊ฐ๋ฅํ ์ ์ฅ ์์ง์ ๊ฐ์ง๊ณ ์์
- ์ํธํ ํด์ ์ฒด์ธ์ ํตํด Raft ์ด์์ ์ํฉ ์ฒ๋ฆฌ ๊ฐ๋ฅ, ๋ชจ๋ ๊ธฐ๊ณ์ ์์๋ ๋ก๊ทธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- Tiger Beetle์ ๋ก๊ทธ๋ฅผ ๊ฒฐํฉํ๊ณ ์งํํจ์ผ๋ก์จ ๋ฐฑ์ ์์ ์ ์ต์ ํํ๋ฉฐ, ๋น ๋ฅด๊ฒ ์๋ํ๊ณ ์ค๋ฅ์ ํ๋ณต์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์งํ
- 13.๏ธ Tiger Beetle์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ
- Tarle์์๋ '๋ณต๊ตฌ ๋ฐฉ๋ฒ'์ผ๋ก '๊ตฌ์ฑ์'์๊ฒ ์ํํ ์ฌ๋ฐ๋ฅธ ์กฐ์น๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๋ผ๊ณ ์์ฒญํ๋ฉฐ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ๋ํ ๋ง์ ์์ ์ ์ํ
- Consensus๋ฅผ ํตํ ์๋ ํฅ์์ ํจ๊ณผ๊ฐ ํฌ๋ฉฐ, ์ฌ์ ๋ณต์ ๋ฐ ๋์์ ์ํ ๋จธ์ ์์์ ์คํ์ด ์ฃผ์ ์์ ์ค ํ๋
- Tiger Beetle์ ์ด๋น 988,000๊ฐ์ ํธ๋์ญ์
์ฒ๋ฆฌ ๊ฐ๋ฅ
- ์ถ๊ฐ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํํ๋ฉด ์ฌ๋ฌ ์์ฑ ์ฟผ๋ฆฌ์ 'zigzag merge join'์ ํตํด ํธ๋์ญ์ ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ํ ๊ฐ๋ฅ
- ์์ ์ฑ์ด ์ฑ๋ฅ๋ณด๋ค ์ค์ํ๋ฉฐ, ์๋ก์ด ๊ธฐ์ ์ ๋์ ํ์ฌ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ์ํธ ๋ณด์
- 30๋ ๋์ ๊ฒ์ฆ๋ ๊ธฐ์ ์ ์์ฉํ๋ ํ์ ์ ํตํด ์กฐํฉํ๋ฉฐ ์ฐ์ํ ๊ฒฐ๊ณผ ์ฐฝ์ถ
- 14.๏ธ NASA์ 10๊ฐ์ง ์์ ๊ท์น์ ๋ฐ๋ฅธ TigerDB ์ค๊ณ
- NASA์ ์์ ๊ท์น 10๊ฐ์ง๋ฅผ ๋ฐ๋ผ 'TigerDB'์์ 4,000๊ฐ์ ๊ฒ์ฆ์ด ์งํ
- ์์ ๋ฉ๋ชจ๋ฆฌ์ ๋์์ฑ ๋ฑ์๋ ํ๊ณ๋ฅผ ๋๋ฉฐ, ์ฝ๋์ ์์ ์ฑ์ ๋์
- ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์์ 'Tiger'๋ฟ๋ง ์๋๋ผ ๊ฒฐ์ ์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ ์ค๊ณ๋จ
- ํ ์คํธ์๋ ์์ ํ ๊ฒฐ์ ์ ์ด๋ฉฐ, ์๋ฎฌ๋ ์ด์ ๋ ํ๊ฒฝ์์ ๋ค์ํ ์คํ์ ํจ์ผ๋ก์จ ์ฝ๋์ ์ฌ๋ฐ๋ฆ ๋ฐ ํ๋์ฑ์ ํ์ธ
- ๋ํ ์๊ฐ์ ๊ฐ์์ํค๋ ์๋ฎฌ๋ ์ด์ ํ ์คํธ๋ก ๋ฒ๊ทธ๋ฅผ ์ฌํํ๊ณ ๋น ๋ฅด๊ฒ ์์ ํจ์ ๊ฐ์กฐ
- 15.๏ธ ๋คํธ์ํฌ ๋ฌธ์ ์๋ฎฌ๋ ์ด์
๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฅ ๋ฐ๊ฒฌ
- ์ค๋ ํฝ๋ก๊ฐ ์ ๋ช ํ ๋ฐฉ์ธ๋ชฉ์์ ํ๋ฉด์ ๋ฉค๋ฒ๋ค์๊ฒ ํ ๋ ๊ฐ์๋ฅผ ๋๋ฆฌ๋ ๋ ๋ ๋ฐ์ ํธ ํ๊ฒฝ
- ๋คํธ์ํฌ ๋ฌธ์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ฉฐ ๋คํธ์ํฌ ํจํท์ ์ ์ธํ์ฌ ๋คํธ์ํฌ๋ฅผ ๊นจ๋จ๋ฆฌ๊ณ ๋นํ์ค ๊ทธ๋ฃน์ ๋ถํ
- ๋ค์ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ์ด ๋๋ ์ฌ์ดํธ๋ฅผ ์ฐพ๊ฑฐ๋ ๋์คํฌ ๋ฐ์ดํฐ๋ฅผ ํ๊ดดํ๋ ์คํ ๋ฑ์ ํตํด ์ฝ๋์ ๋ค์ํ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌ์ค
-
- VidiGo | ๋น๋๊ณ - Analyze Video AI
- Database expert on why NoSQL matteredโโโand SQL still matters
- DBMS๋ RDB์ NoSQL๋ง ์๋์? | ์์ฆIT
- 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 ์ฐจ์ด์ ์ค๋ช
- DB update set์์ ์ฃผ์ํ ์
- 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
- ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ ํ๋ซํผ | ์ฟ ํก ์์ง๋์ด๋ง | Coupang Engineering Blog
- 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
- ์นผ๋ผ | ๊ฐ๋ฐ์๊ฐ โ๋ฐ์ดํฐ๋ฒ ์ด์คโ๋ฅผ ๋จผ์ ๊ฐ์ํด์ผ ํ ์ด์ - 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
- Goodbye etcd, Hello PostgreSQL: Running Kubernetes with an SQL Database | by Martin Heinz | Jul, 2023 | Better Programming
- 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
- MySQL์์ 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'์ ๋ค๋ฅด๋ค?
- ๋๋น ์ฃผ๋ฌธ๊ตฌ์กฐ ์ค๊ณ - ๋์์ฑ ๊ณ ๋ ค๋ฅผ ์ํ.. : ๋ค์ด๋ฒ๋ธ๋ก๊ทธ
- ๋๋น ์ถ์ ๊ฐ๋ฅํ ํ ์ด๋ธ ์ค๊ณ : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
- ๋๋น ๊ฒ์ํ ๊ตฌ์กฐ ์ค๊ณ - ๊ฒ์๊ธ ๊ด๋ฆฌ ๊ทธ.. : ๋ค์ด๋ฒ๋ธ๋ก๊ทธ
- BULK ์ฒ๋ฆฌ Write์ ์ง์คํด์ ๊ฐ์ ํด๋ณด๊ธฐ - ์ปฌ๋ฆฌ ๊ธฐ์ ๋ธ๋ก๊ทธ
- Database Fundamentals
- You'll regret using natural keys
- SQL Has Problems. We Can Fix Them: Pipe Syntax In SQL
- 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
- AWS Data Migration Service(DMS)๋ฅผ ํ์ฉํ์ฌ Amazon Aurora PostgreSQL ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ ํ๊ฒฝ ์์ฑํ๊ธฐ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ๋ฅผ ์ด์ฉํ 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%๊น์ง ๊ฐ์
- PostgreSQL์ Fillfactor์ ์ํฅ๋ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- ์ผ์ดํ์ดํฌ์ ์ ์๊ฐ์ ์ธ ์คํ์ดํฌ ํธ๋ํฝ ๋์์ ์ํ Amazon Aurora ์คํ ์ค์ผ์ผ๋ง ์ ๋ต | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- AWS RDS Aurora I/O-Optimized ์ ์ฉ ํ๊ธฐ โ Lamanus' Archive
- Aurora DB ํด๋ฌ์คํฐ ์ญ์ถ์ - Amazon Aurora
- Amazon Aurora๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ๊ธฐ ์ํ 10๊ฐ์ง ํ โ 1๋ถ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora๋ฅผ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ๊ธฐ ์ํ 10๊ฐ์ง ํ โ 2๋ถ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon CloudWatch๋ฅผ ์ด์ฉํ Amazon Aurora I/O Optimized ๊ธฐ๋ฅ์ ๋ํ ๋น์ฉ ์ ๊ฐ ์์ํ๊ธฐ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon RDS for MySQL์ Active/Active ๋ณต์ ๋ฅผ ์ํ Group Replication ํ๋ฌ๊ทธ์ธ ์๊ฐ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Aurora MySQL ์ ๊ทธ๋ ์ด๋์ ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ ์ด๋? | by Rocket | Jan, 2024 | ์ฌ๊ธฐ์ด๋ ๊ธฐ์ ๋ธ๋ก๊ทธ
- Oracle to AWS Aurora PG 1ํ (Shareplex AWS ์ ํ ์ฌ์ )
- Oracle to AWS Aurora PG 2ํ !! (DB ์ด์ฌ๊ฐ์~)
- Oracle to AWS Aurora PG 3ํ ๊ฐ๋ฐ์์ ์ฒญ์ฒ๋ฒฝ๋ ฅ ์ด์ผ๊ธฐ
- Amazon Aurora MySQL ๋ฒ์ 3์ผ๋ก ์ ๊ทธ๋ ์ด๋ (MySQL 8.0 ํธํ) | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- ๋ก์ปฌ ์ธ์คํด์ค ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ์ฌ SQL Server์ฉ Amazon RDS Custom์์ TempDB ์ฑ๋ฅ ์ต์ ํ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon RDS: A Comprehensive Tutorial on AWS RDS with Hands-On Practice by Fanaticus - YouTube
- Amazon Aurora MySQL ๋ฒ์ 2(MySQL 5.7 ํธํ)์์ ๋ฒ์ 3(MySQL 8.0 ํธํ)์ผ๋ก ์ ๊ทธ๋ ์ด๋ ์ฒดํฌ๋ฆฌ์คํธ, 1๋ถ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora MySQL ๋ฒ์ 2(MySQL 5.7 ํธํ)์์ ๋ฒ์ 3(MySQL 8.0 ํธํ)์ผ๋ก ์ ๊ทธ๋ ์ด๋ ์ฒดํฌ๋ฆฌ์คํธ, 2๋ถ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora MySQL 3๋ฒ์ (MySQL 8.0 ํธํ)์ ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ๋ฅผ ํตํ ์ ๊ทธ๋ ์ด๋ ์ ๊ถ์ฅ ํ์ธ ์ฌํญ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Sendbird์ Amazon Aurora MySQL ์์์ ๋์ฉ๋ ํ ์ด๋ธ ์คํค๋ง ๋ณ๊ฒฝ์ ์ํ SB-OSC ๊ฐ๋ฐ ๋ฐ ์ ์ฉ ์ฌ๋ก | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora MySQL ๋ฒ์ 3์ ๋ฐ์ด๋๋ฆฌ ๋ก๊น ์ ์ด์ฉํ ์ต์ ํ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora MySQL ์คํ ๋ฆฌ์ง ๊ณต๊ฐ ํ์ฉ๋ ์ดํดํ๊ธฐ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora MySQL ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ ์ ํ ํ ๋กค๋ฐฑ ์ ๋ต ๊ตฌํ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora Blue/Green Deployment๋ฅผ ํ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต์ ํฌํจํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ ์ฌ์ ํ
์คํธํ๊ธฐ | AWS ๊ธฐ์ ๋ธ๋ก๊ทธ
- Amazon Aurora Blue/Green Deployment๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ํฌํจํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๊ฒฝ์ ์ฌ์ ํ ์คํธ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ
- ์ด ํ๋ซํผ์ CQRS ํจํด, Amazon Route53์ ํธ๋ํฝ ํ๋ฆ ๋ฐ ํธ๋ํฝ ์ ์ฑ , ๊ทธ๋ฆฌ๊ณ ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ฌ ํ๋ก๋์ ํ๊ฒฝ์์ ํ์ค์ ์ธ ํ ์คํธ ์ํ
- ์ฌ์ ํ ์คํธ๋ ๋ณ๊ฒฝ์ผ๋ก ์ธํ ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ํ์ ํ๊ณ , ์ด์ ์ ํ์ ์์ ์ฑ์ ๋์ด๋ ๋ฐ ๋์
- ์ด ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊ณผ์ ๊ธด๋ฐํ ์ฐ๊ฒฐ์ ์ธ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ํ ์คํธ๋ฅผ ์ํํ๋๋ก ์ง์
- 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
- Announcing DuckDB 1.0.0 โ DuckDB
- 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
- DuckDB: Bringing analytical SQL directly to your Python shell โ Pedro Holanda - YouTube
- Comparing SQLite, DuckDB and Arrow with UN Trade Data ยท Pachรก
- DuckDBT: Not a database or a dbt adapter but a secret third thing โ DuckCon #3 (San Francisco) - YouTube
- Gรกbor Szรกrnyas - DuckDB: The Power of a Data Warehouse in your Python Process - YouTube
- DuckDB Doesnโt Need Data To Be a Database
- DuckDB as the New jq - Paul Grossโs Blog
- DuckDB ์ฌ์ฉ๋ฒ(DuckDB Python + Jupyter Lab) ยท ์ด์ฉ์ง ์ค๋์
- 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
- ChartDB - Database schema diagrams visualizer
- cozo: A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms
- dataherald: Interact with your SQL database, Natural Language to SQL using LLMs
- 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
- ERD ๋ค์ด์ด๊ทธ๋จ ํด ์ข ๋ฅ์ ์ค์น ๊ฒฝ๋ก ์ ๋ฆฌ
- ERD (Entity-Relation Diagram) ํ๊ธฐ๋ฒ
- AQueryTool์ ์น ๊ธฐ๋ฐ ERD ํด + SQL ์๋ ์์ฑ ํ๋ก๊ทธ๋จ
- dbdiagram - Draw Entity-Relationship Diagrams, Painlessly
- DBML: Database Markup Language ยท /usr/lib/libsora.so
- erdplus.com
- SequenceDiagram.org - UML Sequence Diagram Online Tool
- 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
- Harlequin: The SQL IDE for Your Terminal
- ingestr: ingestr is a CLI tool to copy data between any databases with a single command seamlessly
- 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
- qStudio Release Version 3.0 ยป qStudio
- RadonDB: ๋๋ฅ์ ๋ดํ์ ์์ฃผ์ฟ (Shรนjรนkรน, ๆฐๆฎๅบ, database) !? MySQL or PostgreSQL ๊ธฐ๋ฐ์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์ผ๊ธฐ
- Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cached select statements and incrementally updates these results over time as the underlying data changes
- 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
- sqlglot: Python SQL Parser and Transpiler
- 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์ ์ด์ํ ๋์
- ๋ ์ง ์ฐธ์กฐ ํ ์ด๋ธ ๋ง๋ค๊ธฐ (๋งค์ ์์์ผ ๊ตฌํ๊ธฐ.. : ๋ค์ด๋ฒ๋ธ๋ก๊ทธ
- Architect a disaster recovery for SQL Server on AWS: Part 1 | AWS Database Blog
- Architect a disaster recovery for SQL Server on AWS: Part 2 | AWS Database Blog
- Architect a disaster recovery for SQL Server on AWS: Part 3 | AWS Database Blog
- Architect a disaster recovery for SQL Server on AWS: Part 4 | AWS Database Blog
-
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
- I loaded 100,000,000 rows into MySQL (fast) - YouTube
- 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 where in (์๋ธ์ฟผ๋ฆฌ) vs ์กฐ์ธ ์กฐํ ์ฑ๋ฅ ๋น๊ต (5.5 vs 5.6)
-
2. ํ์ด์ง ์ฑ๋ฅ ๊ฐ์ ํ๊ธฐ - ์ปค๋ฒ๋ง ์ธ๋ฑ์ค ์ฌ์ฉํ๊ธฐ
-
3-1. ํ์ด์ง ์ฑ๋ฅ ๊ฐ์ ํ๊ธฐ - ๊ฒ์ ๋ฒํผ ์ฌ์ฉ์ ํ์ด์ง ๊ฑด์ ๊ณ ์ ํ๊ธฐ
-
MySQL IN์ ์ ํตํ ์ฑ๋ฅ ๊ฐ์ ๋ฐฉ๋ฒ ๋ฒ์ ์กฐ๊ฑด์์๋ ์ธ๋ฑ์ค ํจ๊ณผ๋ฅผ ์ ๋๋ก ๋ณด์ง ๋ชปํจ -> IN์ ๊ธฐ์กด์ MySQL ์ด ๊ฐ์ง๊ณ ์๋ ๋ฒ์ ์กฐ๊ฑด์ ๋นํจ์จ ํํผ
- practice - create insert recursive union
- 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=268435456SHOW 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 online alter๋ถํฐ CPU 100% ์ฅ์ ๊น์ง
- 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
- ๋ฐ์ดํฐ๊ฐ ์์๋๋ฐ์, ์๋ ์์ด์ - ์ปฌ๋ฆฌ ๊ธฐ์ ๋ธ๋ก๊ทธ
-
MySQL ๋ก์ปฌ ๊ฐ๋ฐ์ ์์ด๋ ๋น๋ฒ์ ํ์ผ์ ์ ์ด๋๊ณ ์ฐ๋ ๋ฐฉ๋ฒ | ์น์ผ๋ก ๋งํ๊ธฐ
-
์์ด๋ณด์ฉ! ๊ฐ๊ณ ๋ ธ๋ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ข - YouTube
-
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 ํ ์ด๋ธ๊ณผ ์ธ๋ฑ์ค ์ค๊ณ ์ ์ฃผ์์ฌํญ 13๊ฐ์ง
-
ํจ์คํธ์บ ํผ์ค SQLํ๋์บ ํ 2์ผ์ฐจ - ์ธ๋ฑ์ค ํฅ์
-
MySQL Workbench์ VISUAL EXPLAIN์ผ๋ก ์ธ๋ฑ์ค ๋์ ํ์ธํ๊ธฐ
-
์ธ๋ฑ์ค 3ํธ - ๋ค์ค ์ปฌ๋ผ ์ธ๋ฑ์ค์ ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ๋ง๋ค๊ธฐ
-
DB Index ๋์์๋ฆฌ๋ฅผ ์์๋ณด์ | Eric's DevLog (๋ฐ๋ธ๋ก๊ทธ)
-
mysql ์ปค๋ฒ๋ง ์ธ๋ฑ์ค๋ ๋ฌด์์ธ๊ฐ? | sTricky cover index
-
์ฌ์ ๊ณ ์๋ฆผ ์ ์ฒญ ๊ฐ๋ฐ๊ธฐ | by Jeenz | 29CM TEAM | Nov, 2022 | Medium
-
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: PHP๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Query๋ง์ผ๋ก unserializeํ๋ ๋ฐฉ๋ฒ
-
MySQL: id BETWEEN start AND end Instead of LIMIT start, step For Better Database Performance
-
MySQL ๋ฐ์ด๋๋ฆฌ ๋ก๊ทธ๋ฅผ ํ์ฉํ DB ๋ณต๊ตฌ ๋ฐฉ๋ฒ in Windows
-
MySQL์์ ํํฐ์ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ํํฐ์ ํ ์ด๋ธ๋ก ์ฎ๊ฒจ๋ณด๊ธฐ
-
Perfecting Lambda Architecture with Oracle Data Integrator (and Kafka / MapR Streams)
- MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์คํธ๋ฆผ์ผ๋ก ์บก์ฒํ๊ธฐ ์ํด Oracle Data Integrator, Apache Kafka / MapR Stream๋ฅผ ๊ตฌ์ฑํ๋ ๊ณผ์
-
์ฒ๋ฐฉ์ง์ถ RDBMS ๋๋ ค์ก๊ธฐ: Oracle to MySQL ๋ณํ๊ธฐ | NHN FORWARD
-
Replicating Relational Databases with StreamSets Data Collector
- MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์คํธ๋ฆผ์ผ๋ก ์บก์ฒํ๊ธฐ ์ํด StreamSets์ ์ด์ฉ
- StreamSets์ JDBC๋ฅผ ์ด์ฉํ์ฌ ํด๋ง ๊ธฐ๋ฐ์ ์คํธ๋ฆผ ๋ฐ์ดํฐ ์บก์ฒ๊ฐ ๊ฐ๋ฅ
- ๋ณธ๋ฌธ์์ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ์บก์ฒํ๊ณ HDFS/Hive/Impala๋ก streaming ํ๋ ๊ณผ์ ์ ์ค๋ช
-
Delayed Replication์ ์ด์ฉํด ์ ์ค๋ ๋ฐ์ดํฐ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌํ๊ธฐ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ฅ์ฑ๊ณผ ๊ฐ์ฉ์ฑ์ ์ํ MySQL Replication
-
MySQL์ NoSQL๋ก ์ฌ์ฉํ๊ธฐ
- 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 mysqltried to installmariadb&mariadb-libson Redhat 7.2(CentOS Linux release 7.2.1511 (Core))
-
์๋์ฐ10 MySQL Community 8.0 ๋ฒ์ ๋ค์ด๋ก๋ ๋ฐ ์ค์น ๋ฐฉ๋ฒ ๊ฐ์ด๋
-
MySQL ๋งฅ OS์ ์ค์นํ๊ธฐ - ๋ก์ค์นด์ธ ์ AI ๋จธ์ ๋ฌ๋
-
phpmyadmin์ ๊ถ๊ทน์ ์ธ ๋์: MySQL Workbench + ํฐ๋๋ง
-
MySQL: Fulltext search์์ ํ์ดํ ์บ๋ฆญํฐ ์ฌ์ฉํ๊ธฐ
-
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 performance-schema-instruments ์ฌ์ฉ์ ๋ฐ๋ฅธ ์ฑ๋ฅ ์ํฅ ์คํ
-
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 ์๋ ์ฆ๊ฐ ์นผ๋ผ์ ์ต์ ๋ฐ์ดํฐ ์กฐํ์ ์ฃผ์ ์ฌํญ
-
MySQL์ ์ด์ฉํ ๋ถ์ฐ๋ฝ์ผ๋ก ์ฌ๋ฌ ์๋ฒ์ ๊ฑธ์น ๋์์ฑ ๊ด๋ฆฌ
-
MySQL ํธ๋์ญ์ Isolation Level๋ก ์ธํ ์ฅ์ ์ฌ์ ์๋ฐฉ ๋ฒ โ gywndi's database
-
ํ๋ก๊ทธ๋๋ฐ ์ด์ : DB ํธ๋์ญ์ ์กฐ๊ธ ์ดํดํ๊ธฐ 1, 2 :: ์๋ฐ์บ(Java Can Do IT)
-
Distributed Transactions & Two-phase Commit | by Animesh Gaitonde | Geek Culture | Medium
-
๊ฟ๋ฒ๊ฐ๋ฐ์ผ์ง :: lock=none, algorithm=inplace ์ผ๋ก ํ ์ด๋ธ ๋ณ๊ฒฝํ๊ธฐ
-
MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ฒ์ ๋๋ด๊ธฐ SQL Full Tutorial Course using MySQL Database
-
MySQL InnoDB์ ๋ฉ๋ชจ๋ฆฌ ์บ์ ์๋ฒ๋ก ๋ณ์ ! | STAR::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
-
Why Uber Engineering Switched from Postgres to MySQL | Uber Engineering Blog
-
์ด์ปค๋จธ์ค ํ๋ซํผ์ ์ฃผ๋ฌธ DB ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฝํ๊ธฐ Oracle to MySQL
-
Replica ์ Write ๊ฐ ๋๋ค๊ณ ? MySQL Writable Replica ๋ก ๋ฐ์ดํฐ ๋ถ์์ฉ DB ๋ง๋ค๊ธฐ
-
2. ์ปค๋ฒ๋ง ์ธ๋ฑ์ค (WHERE + ORDER BY / GROUP BY + ORDER BY )
-
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
-
MySQL 8.0 ์ ๊ทธ๋ ์ด๋ ์ ์ง์ด๋ด์ผํ ๋ช ๊ฐ์ง! | STAR::DATABASE
-
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์์ ๊ณ์ฐ์ ์ค๊ฐ์ ๊ฐ๋จํ ๋ฐฉ๋ฒ
-
Explain์ ๋์์ ๋ฐ์ Full Scan์ ๋ฐฉ์งํ์ #ํ์ค์บ ๋ฐฉ์ง
-
MySQL :: ์ฌ๋ก์ฐ์ฟผ๋ฆฌ ์ก๋ ๋ช ๋ น์ด, โEXPLAIN ANALYZEโ ํด์๋ฒ
-
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/MariaDB character sets and collations explained โ why utf8 is not UTF-8 | Hello DevOps
-
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
-
์คํ๊ณํ์ ๋ถ์ํด์ SQL ์ฑ๋ฅํ๋์ ํด๋ณด์(feat.MySQL) | Recoding Life
-
MySQL ์ฐ๋ฉด์ ํ์ง ๋ง์์ผ ํ ๊ฒ 17๊ฐ์ง โ Lael's World
-
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์์ ๋ฆฌ์ ๋๋ ์ํ์ค ๋ง๋ค์ด๋ณด๊ธฐ | gywndi's database
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์๋๊ฒฝ๋ ๊ด๋ฆฌ - MySQL Spatial SQL
-
MySQL document store ์ด๊ฐ๋จ ํ ์คํธ | gywndi's database
-
How to Connect A GraphQL API and A MySQL Database in Your GraphQL Layer | StepZen blog
-
๋ฒ์ญ MySQL์ ENUM ํ์ ์ ์ฌ์ฉํ์ง ๋ง์์ผ ํ 8๊ฐ์ง ์ด์
-
Login y Logout con NodeJS y MySQL usando jsonwebtokens - YouTube
-
brew๋ก MySQL 5.7์ MySQL 8๋ก ์ ๊ทธ๋ ์ด๋ ํ๋ฉด์ ๊ฒช์ ์๋ฌ ๊ธฐ๋ก | ์น์ผ๋ก ๋งํ๊ธฐ
-
Upgrading GitHub.com to MySQL 8.0 - The GitHub Blog
- GitHub.com์ด ์ฑ์ฅํ๋ฉด์ ๋จ์ผ MySQL์์ ์ํคํ ์ฒ๋ฅผ ๋ฐ์ ํด ์ค๊ณ ์์๋๋ฐ 1,200๊ฐ ์ด์์ MySQL ํธ์คํธ๋ฅผ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ๊ณผ์
- SLO์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ํด ๊ณํ, ํ ์คํธ, ์ ๊ทธ๋ ์ด๋์ 1๋ ๋๊ฒ ์์
- MySQL 5.7์ ์๋ช ์ด ๊ฑฐ์ ์ข ๋ฃ๋จ์ ๋ฐ๋ผ 8.0 ์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํด์ผ ํ๋ค.
- GitHub์ MySQL ์ธํ๋ผ ๊ตฌ์ฑ
- 1,200๊ฐ ์ด์์ ํธ์คํธ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ Azure์ ๋ฒ ์ด ๋ฉํ ํธ์คํธ์ ์กฐํฉ
- 300TB ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ 50๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ์์ ์ด๋น 5,500๋ง ๊ฑด์ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ
- ๊ฐ ํด๋ฌ์คํฐ๋ primary์ replicas๋ฅผ ์ด์ฉํ ๊ณ ๊ฐ์ฉ์ฑ ๊ตฌ์ฑ
- ์ํ/์์ง ์ค๋ฉ์ ๋ชจ๋ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๊ฐ ํํฐ์ ๋
- ๋๊ท๋ชจ ๋๋ฉ์ธ ์์ญ์ ์ํด ์ํ ์ค๋ฉ ๋ Vitess ํด๋ฌ์คํฐ๋ ์กด์ฌ
- SLO/SLA๋ฅผ ์ค์ํ๋ฉด์ ์ ๊ทธ๋ ์ด๋ํด์ผ ํ์ง๋ง ๋ชจ๋ ์ฅ์ ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ ๋ คํ ์๋ ์์ผ๋ฏ๋ก ์ค๋จ์์ด MySQL 5.7๋ก ๋กค๋ฐฑํ ์ ์์ด์ผ ํจ. ๋ค์ํ ์ํฌ๋ก๋๊ฐ ์์ผ๋ฏ๋ก ํด๋ฌ์คํฐ๋ฅผ ์์๋จ์๋ก ์ ๊ทธ๋ ์ด๋ ํด์ผํ๊ณ ํผํฉ ๋ฒ์ ์ ์ค๋ซ๋์ ์ด์ํด์ผ ํจ
- 2022๋ 7์๋ถํฐ ์ ๊ทธ๋ ์ด๋ ์ค๋น ์์
- MySQL 8.0์ ์ค์ ๊ฐ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ฒค์น๋งํฌํ๊ณ ๋ ๋ฒ์ ์ ์ด์ํด์ผ ํ๊ธฐ์ ๋๊ตฌ์ ์๋ํ๊ฐ ๋ ๋ฒ์ ๋ชจ๋ ์ฒ๋ฆฌ ํ์
- ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ CI์ MySQL 8.0์ ์ถ๊ฐํด์ CI์์ 5.7๊ณผ 8.0์ ๊ฐ์ด ์คํ
- ์
๊ทธ๋ ์ด๋ ์ ๋ต
- replicas๋ฅผ ๋จผ์ ์ ๊ทธ๋ ์ด๋ํ๊ณ ํธ๋ํฝ์ ๋ฐ๋๋ก ํ ๋ค ๋ชจ๋ํฐ๋งํ๋ฉด์ ๊ต์ฒดํด ๋๊ฐ๊ณ 5.7์ ๋กค๋ฐฑ์ ์ํด ๋์๋์์ง๋ง, ํธ๋ํฝ์ ์ ๊ฐ๊ฒ ํจ
- Replica ํ ํด๋ก์ง๋ฅผ ์กฐ์ ํด์ 8.0 primary๊ฐ 5.7 primary๋ฅผ ๋ณต์ ํ๋๋ก ๊ตฌ์ฑ, 8.0 replicas ์๋์๋ 5.7 ์ธํธ์ 8.0 ์ธํธ๋ก ๊ตฌ์ฑํด์ 8.0๋ง ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋๋ก ํจ
- Primary๋ฅผ ์ง์ ์ ๊ทธ๋ ์ด๋ํ์ง ์๊ณ ํ์ผ์ค๋ฒ๋ฅผ ํตํด MySQL 8.0 Replica๊ฐ Primary๋ก ์น๊ฒฉ๋๋๋ก ํจ
- ๋ฐฑ์ ์ด๋ ๋น ํ๋ก๋์ ์ ์ํ MySQL๋ ๋ชจ๋ ์ ๊ทธ๋ ์ด๋
- ๋กค๋ฐฑํ ํ์๊ฐ ์๋ค๋ ๊ฑธ ํ์ธ ํ 5.7 ์๋ฒ ๋ชจ๋ ์ ๊ฑฐ
- GitHub Upgrades its MySQL Infrastructure from v5.7 to 8.0 - InfoQ
-
MySQL์ ๋ณ์ โฆโ์ด์ ๋ ๋ถ์์ฉ ํด๋ผ์ฐ๋ DBโ - Byline Network
-
- MySQL client CLI๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋นํด ๊ธฐ๋ฅ์ด ๋ถ์กฑํด์ CLI๋ฅผ ์ง์ ์์ ํด์ ํธ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ ์ค๋ช
- ํ๋กฌํํธ์ ์๋ฒ ์ ๋ณด ๋ฑ์ ํ์ํ๊ฑฐ๋ PostgreSQL์ฒ๋ผ ์์ฃผ ์ฐ๋ ๋ช
๋ น์ด์ ๋จ์ถ ๋ช
๋ น์ด๋ฅผ ์ถ๊ฐํด์
\\d๋ฅผ ์ ๋ ฅํ๋ฉดSHOW DATABSAES;์คํ ๊ฐ๋ฅ - ๋ฏธ๋ฆฌ ํ์ผ์ ์ ์ฅํด๋ SQL์ ์คํํ๊ฑฐ๋ ํ์ฌ ์ ์ฑ ์ ๋ฐ๋ฅธ ๊ฒฝ๊ณ ๋ฌธ์ ํ์ํ ์ ์๋๋ก ์์ ํ client ์ฝ๋ ๊ฐ์ด ์ ๊ณต
-
MySQL Heatwave๋ฅผ ์ดํด๋ณด์์ต๋๋ค โ gywndi's database
-
How to Make a Simple CRUD Application using ReactJS, NodeJS and MySQL
-
MySQL Batch Update ์ฑ๋ฅ ์ธก์ ๋ฐ ๋ถ์ - Yun Blog | ๊ธฐ์ ๋ธ๋ก๊ทธ
-
์ต์ ํ๋์จ์ด๋ฅผ ํ์ฉํ๋ MySQL ์คํ ๋ฆฌ์ง ์์ง ๊ณต๋ ์ฐ๊ตฌ -ํ๊ตญ์ดํ- - YouTube
-
MySQL
sql_mode๋ก ์์๋ณด๋ ์์คํ ๋ณ์ permanent, runtime์ค์ -
MySQL์ View๋ฅผ ๋ง๋ค ๋ ํ์ ํ ์ด๋ธ์ ์ฃผ์ํ์
-
MySQL DECIMAL vs DOUBLE(FLOAT): ๋ญ ์ ํํด์ผ ํ ๊น?(Feat. ๊ณ ์ ์์์ vs ๋ถ๋ ์์์ )
-
CHAR vs. VARCHAR, ์ธ์ ์ด๋ป๊ฒ ์จ์ผ ํ ๊น? | ์์ฆIT
- 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ํ๊ณ ์งํ ์ํฉ ํ์ธํ๊ธฐ ยท ๊ฐ์๋์ค
- mysqldump ํ์ค ์ถ๋ ฅ์ ๊ณง์ฅ gpg ์ํธํํด ํ์ผ๋ก ์ ์ฅํ๋ bash ๋ช ๋ น | ์น์ผ๋ก ๋งํ๊ธฐ
- MySQL DB ๋ฐฑ์ ๋ณต์ mysqldump ๋ช ๋ น์ด
- Xtrabackup์ผ๋ก DB ๋ณต๊ตฌํ๊ธฐ
- MySQL/MariaDB์ inet_aton/ntoa ํจ์๋ฅผ ๋์ฒดํ JPA ์ปจ๋ฒํฐ
- New Logical Backup and Restore Utilities in the MySQL Shell
- ADT - Almighty Data Trasmitter
- awesome-mysql-performance: ๐ฅ A curated list of awesome links related to MySQL / MariaDB / Percona performance tuning
- 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: The worldโs most advanced database platform
- 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 Nested Loop Join์ HashJoin์ผ๋ก ๊ฐ์ ํ๊ธฐ
- ์ ์ ๊ฐ๋ฐ์์ ์ธ๋ฑ์ค ์ฅ์ ํ๊ณ ๋ด | Onepredict Engineering
- PostgreSQL (Aurora) 10 vs 11 ๋ฒ์ ์ฑ๋ฅ ๋น๊ต
- PostgreSQL 11 ์์์ add column not null & default ์ฑ๋ฅ ๊ฐ์
- 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 ๊ธฐ์ค) : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
- 20x faster than pgvector: introducing pg_embedding extension for vector search in Postgres and LangChain - Neon
- Why we replaced Pinecone with PGVector | by Jeffrey Ip | Nov, 2023 | Medium
- LLM ํ๊ฐ ์ธํ๋ผ๋ฅผ ๋ง๋๋ ConfidentAI์์ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ Pinecone์ ์ฐ๋ค๊ฐ PostgreSQL์์ ๋ฒกํฐ ๊ฒ์์ ์ง์ํ๋ PGVector๋ก ๊ฐ์ํ ์ด์ ์ค๋ช
- Pinecon์ PoCํ ๋๋ ํธํ์ง๋ง ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฌธ์ ์ ๋ฒกํฐ๋ ์ฉ๋ ์ ํ์ผ๋ก ๊ฒฐ๊ตญ ํ์ฅ์ฑ์ ๋ฌธ์ ๋ฐ์
- PGVector์ ๊ฒฝ์ฐ HNWS ๋์ ์ผ๋ก ์ฑ๋ฅ์ด ์ข์์ ธ์ Pinecone ๋์ฒด ๊ฐ๋ฅ
- PostgreSQL 11 ์์์ add column not null & default ์ฑ๋ฅ ๊ฐ์
- postgres json ๊ฐ ๊ฐ์ ธ์ค๊ธฐ ๋ฐฉ๋ฒ์ผ๋ก case ์ ์ ๋ฆฌํฉํ ๋ง ํด ๋ด ์๋ค. - Codingdog Blog
- PostgreSQL ๋ชจ๋ View ์ ์ ๊ทผ ๊ธฐ๋ก ํ ์ด๋ธ์ ์ ์ฌํ๊ธฐ (์ ํ๋ฆฌ์ผ์ด์ ๋ณ๊ฒฝ ์์ด)
- How Cloudflare Was Able to Support 55 Million Requests per Second With Only 15 Postgres Clusters
- Postgres is Enough
- Wait... PostgreSQL can do WHAT? - YouTube
- VidiGo Wait... PostgreSQL can do WHAT?
-
- PostgreSQL์ ๊ฐ์ฒด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์์ ํน์ง
- Postgresql์ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ ๊ณผ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ๊ณผ ๊ฒฐํฉํ์ฌ ๋ค์ํ ๋ค์ดํฐ๋ธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ฌ์ฉ์ ์ ์ ํ์ ์ ์ง์
- ๊ฒ์ ์บ๋ฆญํฐ์ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ฅํ๊ณ ์ฟผ๋ฆฌํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ฅ ์ ๊ณต
- ํ ์ด๋ธ ์์๊ณผ ์ ์ฅ ํ๋ก์์ ๋ฅผ ํฌํจํ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋ ์ ๊ตฌํํ์ฌ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ ๋ก์ง์ ๋ถ๋ฆฌ ๊ฐ๋ฅ
-
- PostgreSQL ํ์ฅ์ฑ๊ณผ ๋ฐฑ์๋ ์คํ ๋์ฒด ๊ฐ๋ฅ์ฑ
- Postgresql์ ํ์ฅ์ฑ ๋๋ถ์ ์บ์ฑ, ๋ฉ์์ง ํ, nosql ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ๋ฐฑ์๋ ์คํ์ ๋ค์ํ ๊ธฐ์ ๋์ฒด ๊ฐ๋ฅ
- Json ์น ํ ํฐ ์์ฑ, html ๋๋๋ง ๋ฑ ๋ค์ํ ์์ ์ ์ํ postgresql ํ์ฅ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ธํ๋ผ๋ฅผ ๋จ์ํ, ์ ์ง ๋ณด์ ์ฉ์ด
- Rest api์ graphql ์ฟผ๋ฆฌ๋ฅผ ํฌํจํ์ฌ ๊ฑฐ์ ๋ชจ๋ ๋ฐฑ์๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑ์ํฌ ์ ์๋ ๊ฐ๋ ฅํ๊ณ ์ ๋ขฐํ ์ ์๋ ํ๋ซํผ์ผ๋ก์์ ์ญํ
-
- ์ ๊น๋ง์... PostgreSQL์ ๋ฌด์์ ํ ์ ์๋์? | ์๋ฒฝํ ์์์์ฝ, ๋ฆด๋ฆฌ์ค์์ด์์ด | Lilys AI
- 3.๐ปํฌ์คํธ๊ทธ๋ SQL: ๊ฐ์ฒด-๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ
- ํฌ์คํธ๊ทธ๋ SQL์ ๊ฐ์ฒด-๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก, ๊ฐ์ฒด์งํฅ ๊ฐ๋ ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ ์ตํฉ
- ํฌ์คํธ๊ทธ๋ SQL์ ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ์ง์, ํนํ ๋ ์ง/์๊ฐ, ๋คํธ์ํฌ ์ฃผ์, ์ง์ค๋ฉํธ๋ฆฌ ์ ํ์ ๊ธฐ๋ณธ ์ ๊ณต
- ๋ํ ์ฌ์ฉ์ ์ ์ ์ ํ์ ์ ์ํ๊ณ ์์คํ ์ ๋ด์ฅ๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ด ํจ์จ์ ์ด๋ฉฐ ์ ์ฐํ ๋ฐ์ดํฐ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅ
- ์๋ฅผ ๋ค์ด, ๋กคํ๋ ์ ๊ฒ์์ ์บ๋ฆญํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ ์ ์ ํ์ ๋ง๋ค์ด ํ ์ด๋ธ์ ํ์ฉ ๊ฐ๋ฅ
- 5.๐ปPostgreSQL์ ํ๋ก์์ ์ ํจํค์ง๋ก ์ฝ๋ ์คํ์ด ๊ฐ๋ฅํจ.
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ๋ฌถ๋ ๊ฒ์ด๋ผ๋ ์ ์ ๊ฐ๊ณผํด์๋ ์ ๋จ
- PostgreSQL์ ์ฝ๋๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํํ ๋ ๊ฒฝ์ ์๋๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ ์ ๊ณต
- ์ ์ฅ ํ๋ก์์ ์์ ์ง์๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ชฉ๋ก์ ํ์ธํ๊ณ ์ฝ๋๋ฅผ ์ง์ ์คํํ๊ธฐ ์ํด ์ธ์ด ํธ๋ค๋ฌ ํ์ฑํ ํ์
- ๋ํ ์ด๋ฅผ ์ํด ํจํค์ง ๋งค๋์ ๊ฐ ํ์ํ๋ฐ, PostgreSQL ํ์ฅ์ ์ํ ํจํค์ง ๋งค๋์ ์กด์ฌ. ์์ ํ๋ก์์ ์ ์ฝ๋๋ ์ด๋ฏธ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
- 6.๐ปPostgreSQL ๊ธฐ๋ฅ๊ณผ ์ ์ฅ ํ๋ก์์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์๋ ์์ฉํ๋ก๊ทธ๋จ์์ ์์ ๋กญ๊ฒ ํ์ฉ
- PostgreSQL์ ๊ฐ์ฒด์งํฅ ๊ธฐ๋ฅ๊ณผ ์ ์ฅ ํ๋ก์์ ๋๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋จ์ํ ์ ์ฅ์๊ฐ ์๋๋ผ ๋ฐฑ์๋ ์์ฉํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ ๋ก์ง์ผ๋ก๋ถํฐ ํด๋ฐฉ ๊ฐ๋ฅ
- ์ ์ ๊ด๋ฆฌ์ ๊ฐ์ ๋ฐ์ดํฐ ๋ก์ง์ด Posix ํ์ฅ์ฑ์ ๋์์ผ๋ก ์์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ์์ฒด ํฌํจ ๊ฐ๋ฅ
- ํด์ ๋น๋ฐ๋ฒํธ ์์ฑ, JSON ์น ํ ํฐ, QR ์ฝ๋ ์์ฑ, ๊ฐ์ธ ๋ฐ์ดํฐ ์ต๋ช ํ, ํ ํ๋ฆฟ์์ HTML ๋ ๋๋ง ๋ฑ ๊ฐ๋ฅ
- PostgreSQL์ ๋ํด ๋ฐฐ์ธ์๋ก ํ์ฅ์ ์ด ์ด๋์์๋ ์์ด ์ค์ ๋ก ์ ์ฒด ๋ฐฑ์๋๋ก ๋์ฒดํ ์ ์๋ ํน์ง
- PostgreSQL๋ก ํค-๊ฐ ์ ์ฅ์๋ฅผ ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์์ผ๋ฉฐ, Redis์ ๊ฐ์ด ๋ง๋ฃ๋๋ ๊ฐ๋ค์ ๊ฐ์ง ์ ์๋๋ก PG ํฌ๋กฌ ์ต์คํ
์
์ค์น
- ํฌ์คํฐํฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ธ๋ก์ปค ์ํํธ์จ์ด์ธ RabbitMQ๋ฅผ ๋จ์ํ๊ฒ ๋์ฒดํจ์ผ๋ก์จ ์ฌ๋ด ๋ฐฑ์๋ ์์ ํ๋ฅผ ํฅ์
- 7.๐ป MongoDB์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฅ์ ๋ฐ PostgreSQL์ ํ์ฉ
- PostgreSQL์ JSON ๋ฐ์ดํฐ ์ ํ์ ๋ค์ดํฐ๋ธ๋ก ์ง์ํ๋ฉฐ SQL๊ณผ ์ ์ฌํ ์ฟผ๋ฆฌ ์ธ์ด ์ง์
- NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ SQL๊ณผ ์ ์ฌํ ์ธ์ด๋ก ์ ์, Guardian๊ณผ ๊ฐ์ ๊ธฐ์
์ด JSON ๋ฌธ์๋ฅผ PostgreSQL๋ก ์ฎ๊ธธ ๊ฒฝ์ฐ
- ๋์คํฌ ๊ณต๊ฐ์ด ๋ ๋ง์ด ํ์, ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค๊ณผ์ ํตํฉ ๋ฐ ์ธํ๋ผ ์ ์ง๋ณด์๊ฐ ๊ฐ์
- PostgreSQL์ Apache AG ํ๋ก์ ํธ๋ฅผ ์ด์ฉํด ๊ทธ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ณํ ๊ฐ๋ฅ
- ์๊ณ์ด ๋ฐ์ดํฐ์๋ TimescaleDB๋ฅผ ํ์ฉํ์ฌ IoT ๊ธฐ๊ธฐ ๋ฉํธ๋ฆญ์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ์ฌ์ฉ์ ํ๋ ๋ก๊ทธ๋ฅผ ๋ถ์ ๊ฐ๋ฅ
- ๋ํ TimescaleDB๋ Grafana์ ์ํํ๊ฒ ์๋ํ๋ค.
- 8.๐ปํ
์คํธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ: Elasticsearch vs PostgreSQL Full-Text Search
- ํ
์คํธ ๋ฐ์ดํฐ ๊ฒ์ ์ 'like' ๋ฌธ์ด ์๋ ๊ฒ์ ์์ง ์ฌ์ฉ ํ์
- Elasticsearch๋ ๋ถ์ฉ์ด, ์ด๊ฐ ์ถ์ถ ๋ฐ ๊ฒ์ ๊ฒฐ๊ณผ ์์ ๋งค๊ธฐ๊ธฐ๋ฅผ ํตํด ์ ์ฌ ๋จ์ด์ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ ์ ๋ ฌ
- ์ผ๋ฐ์ ๋ฐฑ์๋ ์ค์ ์์๋ Elasticsearch๊ฐ ์ด ๊ธฐ๋ฅ์ ๋ด๋น
- Elasticsearch๋ ๋ค๋ฅธ ๊ณณ์์ ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ์์ธํ๊ณ , PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ์ฌ ๋์ผํ ๊ธฐ๋ฅ ์ ๊ณต ๊ฐ๋ฅ
- PostgreSQL์ ์ ์ฒด ํ ์คํธ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํฉํ๋ฉด ๋ฐ์ดํฐ ๋๊ธฐํ๊ฐ ํ์ ์์. ํญ์ ์ต์ ์์ธ์ ์ ๊ณต, ์ธํ๋ผ๊ฐ ๋จ์ํ, ์ ์ง๋ณด์๊ฐ ๋ ์ฉ์ด
- ๋๋ถ๋ถ์ ํ๋ก์ ํธ์์ Elasticsearch ํด๋ฌ์คํฐ๋ฅผ ์คํํ๋ ๊ฒ์ ๊ณผ๋คํ๋ค๊ณ ์๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
- ํ
์คํธ ๋ฐ์ดํฐ ๊ฒ์ ์ 'like' ๋ฌธ์ด ์๋ ๊ฒ์ ์์ง ์ฌ์ฉ ํ์
- 9.๐ปPostgreSQL๋ก ๋ฐ์ดํฐ ๊ฒ์ ๋ฐ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์คํ, ๋ฐฑ์๋ ๋จ์ํ
- ํ ์คํธ ๊ด๋ จํ LLMs(๋ํ ์ธ์ด ๋ชจ๋ธ)์ ์ด์ฉํ์ฌ open source LLM ๋ชจ๋ธ์ ์ฟผ๋ฆฌํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ชฝ์์ ์คํ๋๋ ์ฑ๋ด์ ์์
- PostgreSQL์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ, PostgreSQL์ด ์ญํ ๊ธฐ๋ฐ์ ์ก์ธ์ค ์ ์ด ์ฒ๋ฆฌ, ์ ์ฅ ํ๋ก์์ ๋ฅผ ์ฌ์ฉํ์ฌ ๋จ์ CRUD ์ด์ ์ ๊ณต
- PostgreSQL์ ๋ฉ์์ง, ๋ฉ์์ง ๋๊ธฐ์ด, ํค-๊ฐ ์ ์ฅ์, ๊ฐ์ฒด ๊ทธ๋ํ ๋ฐ ์๊ณ์ด ๋ฐ์ดํฐ ์ ์ฅ์, ์ ์ฒด ํ ์คํธ ๊ฒ์ ๋ฐ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฅ์ ์ ๊ณต
- ๋ํ, PostgreSQL์์๋ ์ ์ฅ ํ๋ก์์ ๋ฅผ ๋จ์ ํ ์คํธ ๊ฐ๋ฅ, ์ด๋ฅผ ํตํด ์น ํ๋ ์์ํฌ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ํ ์คํธ ๊ฐ๋ฅ
- 10.๐ปPostgreSQL๊ณผ GraphQL์ด ํจ๊ป ๋์ํ์ฌ ๋ฐฑ์๋ ์ธํ๋ผ๋ฅผ ๊ฐ์ํ
- PostgreSQL์์๋ PG GraphQL ํ์ฅ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ์ดํฐ์ GraphQL ์ํฐํฐ ๊ฐ ํฌ๋ช ํ ๋งคํ์ ์ ๊ณตํ์ฌ ๋จ์ผ ํจ์ ํธ์ถ๋ก GraphQL ์ฟผ๋ฆฌ๋ฅผ ์คํ ๊ฐ๋ฅ
- PG GraphQL์ PostgREST์ ๊ฒฐํฉํ๋ฉด HTTP๋ฅผ ํตํด GraphQL ์ฟผ๋ฆฌ๋ฅผ ์คํ ๊ฐ๋ฅ
- Omni ํ๋ก์ ํธ๋ ์ปจํ ์ด๋ ๊ด๋ฆฌ, S3 ํ์ผ ์ ์ฅ ๋ฐ ๊ฒฐ์ ์ง์๊น์ง ๋ชจ๋ PostgreSQL ๋ด์์ ๊ด๋ฆฌํ๋ ์์ด๋์ด ์ถ๊ตฌ
- PostgreSQL์ ORM์ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋ ์ธํ๋ผ๋ฅผ ๋ ๊ฐ๋จํ๊ฒ ์ ์งํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ฑฐ๋ ๊ธฐ์ ๊ธ ์ ๋ขฐ์ฑ ๋ณด์ฅ
- ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ฒ์ ํด๋ฌ์คํฐ ๋์ PostgreSQL๋ก ๊ธด ์ฌ์ ์ ํจ๊ปํ๋ฉฐ ํ๋ก์ ํธ์ ์ฅ๊ธฐ์ ์ธ ํํ์ ์ฐฝ์ถ ๊ฐ๋ฅ
- 3.๐ปํฌ์คํธ๊ทธ๋ SQL: ๊ฐ์ฒด-๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ
- VidiGo Wait... PostgreSQL can do WHAT?
- EC2์ PostgreSQL ์ค์น ๐ - YouTube
- Making a Postgres query 1,000 times faster - Mattermost
- PostgreSQL ๋จ์ผ ํ ์ด๋ธ ์ปฌ๋ผ์ ์ต๋ํ ํ์ฉํ๊ธฐ
- How to Get the Most out of Postgres Memory Settings | Tembo
- Maciej Walkowiak | PostgreSQL and UUID as primary key
- Full Text Search over Postgres: Elasticsearch vs. Alternatives - ParadeDB FTS
- Postgres as a search engine
- Postgres is a versatile tool that can be used to build a retrieval system with semantic, full-text, and fuzzy search capabilities
- The author demonstrates how to combine these techniques: full-text search with tsvector, semantic search with pgvector, and fuzzy matching with pg_trgm, to create a robust search engine within Postgres
- The author also discusses the use of Reciprocal Ranked Fusion (RRF) for merging results and the importance of understanding why something matched or not
- The author also provides tips on tuning full text search, such as weighing tsvectors and adjusting for length. Additionally, the author suggests reranking with a cross-encoder model and boosting results to improve user experience
- The author concludes by mentioning the limitations of Postgres and suggests alternative solutions
- Postgres๋ฅผ ๊ฒ์์์ง์ผ๋ก ํ์ฉํ๊ธฐ | GeekNews
- Just use Postgres
- PostgreSQL: PostgreSQL 17 Released!
- 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์ ๋ํ ๊ฑฐ์ ๋ชจ๋ ๊ฒ | ์ฐ์ํํ์ ๋ค ๊ธฐ์ ๋ธ๋ก๊ทธ
- How to Control Autovacuum Frequency in PostgreSQL - DEV Community
- 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
- instantdb/instant: The realtime client-side database
- 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
- knex: A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use
- 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
- pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno
- 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
- PgQueuer is a Python library leveraging PostgreSQL for efficient job queuing
- pg_replicate
- 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
- pg_timeseries: Simple and focused time-series tables for PostgreSQL, from Tembo
- PLV8 Documentation
- PolarDB-for-PostgreSQL
- Pongo - Mongo but on Postgres and with strong consistency benefits
- postgres: Unmodified Postgres with some useful plugins
- Postgres.app โ the easiest way to get started with PostgreSQL on the Mac
- postgres.new: In-browser Postgres with an AI interface
- 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
- teable: โจ A Super fast, Real-time, Professional, Developer friendly, No code database
- ToroDB: A MongoDB-compatible, document-oriented database on top of PostgreSQL
- transqlate - ๋ชจ๋ SQL์ PostgreSQL Dialect๋ก ๋ณํ(Transp | GeekNews
- 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
- Master the SQL QUALIFY Statement: A Comprehensive Tutorial | DataCamp
- Row number, rank ๋ฑ์ผ๋ก ํํฐ๋ง ํ๊ธฐ ์ํด sub query ๋ฅผ ๋ง๋ค์๋ ๋ถ๋ถ์์ ํจ์ฌ ๊ฐํธํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ์์
- 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
- 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
- SQLite Forum: JSONB has landed
- Array columns in SQLite - DEV Community
- ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ 99.9%์ ์น์ฌ์ดํธ์ ์๋ฒฝํฉ๋๋ค - YouTube
- 155000 lines of code, 92000000 lines of test code (600 times)
- First contact โ brandur.org
- 35% Faster Than The Filesystem
- SQLite Transactions
- Hybrid full-text search and vector search with SQLite | Alex Garcia's Blog
- 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
- simple-graph: This is a simple graph database in SQLite, inspired by "SQLite as a document database"
- soul: ๐ A SQLite REST and realtime server
- SpatiaLite: SpatiaLite
- sqlean: All the missing SQLite functions
- SQLime - SQLite Playground
- sqlite3 fiddle
- sqlite3-to-mysql: Transfer data from SQLite to MySQL
- SQLite DB Browser - SQLite ๋น์ฅฌ์ผ ๋ธ๋ผ์ฐ์ ์คํ์์ค | GeekNews
- 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
- sqlite-studio: SQLite database explorer
- SQL OnLine IDE
- stanchion: A SQLite extension that brings column-oriented tables to SQLite
- 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
- How to Use SQLite with Python
- Moving from Flat Files to SQLite in Python - 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
- sql-test-kit ยท GitLab
- SQL Test Kit, or how to unit test any SQL query by Victor Landeau - YouTube
- VidiGo SQL Test Kit, or how to unit test any SQL query by
- sql ์ฟผ๋ฆฌ ํ
์คํธ๋ฅผ ์ํด ํ
์ด๋ธ์ ๊ตฌ์กฐ์ ์คํค๋ง ์ ๋ณด ์ ๊ณต ํ์
- ์ดํ ์ค์ ์ฟผ๋ฆฌ ์คํ ์์ด๋ sql ์ฟผ๋ฆฌ์ ์ ํ์ฑ์ ๊ฒ์ฆ ๊ฐ๋ฅ
- ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์ ์ฒด์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก๋ถํฐ ๋ ๋ฆฝ์ , ๋ค์ํ sql ๋ฐฉ์ธ์์ ๋ฐ์ดํฐ ๋ด๋ถํ ์์น์ ์ฌ์ฉํ์ฌ ๋ชจ๋ select ์ฟผ๋ฆฌ๋ฅผ ํ ์คํธ ๊ฐ๋ฅ
- ๋จ์ ์ผ๋ก ์ธํฐ๋ท ์ ์ ํ์์ฑ๊ณผ ํ ์คํธ ์๋ ์ ํ
- sql ์ฟผ๋ฆฌ ํ
์คํธ๋ฅผ ์ํด ํ
์ด๋ธ์ ๊ตฌ์กฐ์ ์คํค๋ง ์ ๋ณด ์ ๊ณต ํ์
- SQL ํ
์คํธ ํคํธ ๋๋ Victor Landeau์ ๋ชจ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ๋จ์ ํ
์คํธํ๋ ๋ฐฉ๋ฒ | ์๋ฒฝํ ์์์์ฝ, ๋ฆด๋ฆฌ์ค์์ด์์ด | Lilys AI
- ๊ฐ๋ฐ ์ค ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ํผํ๊ธฐ ์ํด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋จ์ ํ
์คํธ ์์ฑ์ด ์ค์
- ๋ฐ์ดํฐ ๊ณผํ์๋ก์ BigQuery์์ SQL ์ฝ๋๋ฅผ ํ
์คํธํ๋ ค๋ ๋
ธ๋ ฅ
- H2์ Testcontainers๊ฐ์ ๋๊ตฌ ์กด์ฌํ๋, BigQuery์ Amazon Redshift, Snowflake์ ์ด์ธ๋ฆฌ์ง ์๋๋ค๋ ๋ฌธ์ ์ง๋ฉด
- ๋ฐ์ดํฐ ๊ณผํ์๋ก์ BigQuery์์ SQL ์ฝ๋๋ฅผ ํ
์คํธํ๋ ค๋ ๋
ธ๋ ฅ
- GCP์๋ BigQuery์ SQL ๋ฐฉ์ธ์ ํด์ํ ์ ์๋ ๋๊ตฌ๊ฐ ์์ด ๊ฐ์ธ์ด ์์ฑํ Tinyquery ํ์
- BigQuery์ด ์๋ GCP์์ ์ํํด์ผ ํ๋ ์์ ๋ค์ด Tinyquery์ ์์กด
- TinyQuery๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ํ
์คํธ๋ ๋ถ๊ฐ๋ฅ, ํ์ฌ BigQuery์์๋ง ํ
์คํธ ๊ฐ๋ฅ
- ์ปดํจํฐ์์ ์คํํ ์ ์๋ ํ ์คํธ๋ฅผ ์์ฑํ์ฌ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ํ์ธํ๊ณ , BigQuery์์ ์ฟผ๋ฆฌ๋ฅผ ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ธ 'SQL Test Kit' ๋์
- SQL Test Kit์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํ ์ด๋ธ์ ๋ํ ์ ๋ณด๋ฅผ ํ๋ก๊ทธ๋จ์ ์๋ ค์ผ ํ๋ฉฐ, ์ด ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ์ ํฉํ ํ ์คํธ ์์ฑ ๊ฐ๋ฅ
- SQL Test Kit์ Qu interpolator๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ๋ด ๋ฐ์ดํฐ ๋ณด๊ฐ ๋ฐ ํ
์คํธ ์ํ
- ์์ ํ ์ด๋ธ ๊ตฌ์ถ ์์ด ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ๋ฅผ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ , ์ด๋ฅผ ์๋ ์์ ๊ฒฐ๊ณผ์ ๋น๊ตํ์ฌ ๋ฒ๊ทธ ์ฌ๋ถ ํ์ธ
- ์ต์ข ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ณด๊ฐ์ ํตํด ๋น ๋ฅด๊ฒ ์ฟผ๋ฆฌ ์คํ, Python ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์ด๋ค SELECT ์ฟผ๋ฆฌ๋ ํ ์คํธ ๊ฐ๋ฅ, ํด๋ผ์ฐ๋ ์ ๊ณต ์ ์ฒด์ ๋ณํ์ ๋ ๋ฆฝ์
- ์ธํฐ๋ท ์ก์ธ์ค๊ฐ ํ์ํ๋ฉฐ ๋จ์ ํ
์คํธ ์๋ ์ ํ
- SQL๋ก ์ธํ ๋๋ฒ๊น ์ด ์ด๋ ต์ง๋ง, ๋จ์ ํ ์คํธ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ๋์
- ๊ฐ๋ฐ ์ค ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ํผํ๊ธฐ ์ํด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋จ์ ํ
์คํธ ์์ฑ์ด ์ค์
- VidiGo SQL Test Kit, or how to unit test any SQL query by
- SQL Test Kit, or how to unit test any SQL query by Victor Landeau - YouTube