DBMS SQLite 3.32 ์ถœ์‹œ. DuckDB ํ”„๋กœ์ ํŠธ๋Š” ๋ถ„์„ ์ฟผ๋ฆฌ๋ฅผ ์œ„ํ•œ SQLite์˜ ๋ณ€ํ˜•์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ ๋จ ์„๋ฐฉํ•˜๋‹ค SQLite 3.32.0, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์„ค๊ณ„๋œ ๊ฒฝ๋Ÿ‰ DBMS์ž…๋‹ˆ๋‹ค. SQLite ์ฝ”๋“œ๋Š” ๊ณต๊ฐœ ๋„๋ฉ”์ธ์œผ๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ชฉ์ ์œผ๋กœ๋“  ์ œํ•œ ์—†์ด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQLite ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์žฌ์ • ์ง€์›์€ Adobe, Oracle, Mozilla, Bentley ๋ฐ Bloomberg์™€ ๊ฐ™์€ ํšŒ์‚ฌ๋ฅผ ํฌํ•จํ•˜๋Š” ํŠน๋ณ„ํžˆ ๋งŒ๋“ค์–ด์ง„ ์ปจ์†Œ์‹œ์—„์„ ํ†ตํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ:

  • ๊ตฌํ˜„ ๊ทผ์‚ฌ์น˜ ANALYZE ๋ช…๋ น์˜ ๋ณ€ํ˜•์œผ๋กœ, ์ธ๋ฑ์Šค ์ „์ฒด๋ฅผ ์Šค์บ”ํ•˜์ง€ ์•Š๊ณ ๋„ ๋งค์šฐ ํฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ถ€๋ถ„์ ์ธ ํ†ต๊ณ„ ์ˆ˜์ง‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์Šค์บ”ํ•  ๋•Œ ๋ ˆ์ฝ”๋“œ ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์€ ์ƒˆ๋กœ์šด ์ง€์‹œ์–ด "๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.PRAGMA ๋ถ„์„_ํ•œ๊ณ„".
  • ์ƒˆ๋กœ์šด ๊ฐ€์ƒ ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ "๋ฐ”์ดํŠธ ์ฝ”๋“œ"์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”์ดํŠธ์ฝ”๋“œ ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ํ‘œํ˜„์‹(์ค€๋น„๋œ ์ง„์ˆ ์„œ).
  • VFS ๋ ˆ์ด์–ด ์ถ”๊ฐ€ ์ฒดํฌ์„ฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฐ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ ๋์— 8๋ฐ”์ดํŠธ ์ฒดํฌ์„ฌ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฝ์„ ๋•Œ๋งˆ๋‹ค ์ด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๋ฉด ์ €์žฅ ์žฅ์น˜์˜ ๋น„ํŠธ๊ฐ€ ๋ฌด์ž‘์œ„๋กœ ์†์ƒ๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†์ƒ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด SQL ํ•จ์ˆ˜ ์ถ”๊ฐ€ iif(X,Y,Z), ํ‘œํ˜„์‹ X๊ฐ€ ์ฐธ์ด๋ฉด Y ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Z ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • INSERT ๋ฐ UPDATE ํ‘œํ˜„์‹์€ ์ด์ œ ํ•ญ์ƒ ์ ์šฉ๋œ ๊ณ ์ • ์—ด ์œ ํ˜•(์—ด ์นœํ™”๋ ฅ) ๋ธ”๋ก์˜ ์กฐ๊ฑด์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์ „์— CHECK.
  • ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐœ์ˆ˜ ์ œํ•œ์ด 999์—์„œ 32766์œผ๋กœ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UINT ์กฐํ•ฉ ์ˆœ์„œ ํ…์ŠคํŠธ์˜ ์ •์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ํ•ด๋‹น ํ…์ŠคํŠธ๋ฅผ ์ˆซ์ž ์ˆœ์„œ๋กœ ์ •๋ ฌํ•˜๋Š” ์‹œํ€€์Šค ์ •๋ ฌ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ".import" ๋ช…๋ น์— "-csv", "-ascii" ๋ฐ "-skip" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ".dump" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ •๋œ ๋งˆ์Šคํฌ์— ํ•ด๋‹นํ•˜๋Š” ๋ชจ๋“  ํ…Œ์ด๋ธ”์˜ ์ถœ๋ ฅ ๋ณ‘ํ•ฉ๊ณผ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ LIKE ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋ฅผ ์œ„ํ•œ ".oom" ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ".excel", ".output" ๋ฐ ".once" ๋ช…๋ น์— "--bom" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ".filectrl" ๋ช…๋ น์— "--schema" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • LIKE ์—ฐ์‚ฐ์ž๋กœ ์ง€์ •๋œ ESCAPE ํ‘œํ˜„์‹์€ ์ด์ œ PostgreSQL ๋™์ž‘๊ณผ ์ผ์น˜ํ•˜์—ฌ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ƒˆ๋กœ์šด DBMS์˜ ๊ฐœ๋ฐœ๋„ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค. ๋•DB, ์‹คํ–‰์— ์ตœ์ ํ™”๋œ SQLite์˜ ๋ณ€ํ˜•์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„์„ ์ฟผ๋ฆฌ.
SQLite์˜ ์…ธ ์ฝ”๋“œ ์™ธ์—๋„ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” PostgreSQL์˜ ํŒŒ์„œ์™€ Date Math ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋„ทDB, ์ž์ฒด ์ฐฝ ๊ธฐ๋Šฅ ๊ตฌํ˜„(Segment Tree Aggregation ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฐ˜), ๋ฒกํ„ฐํ™”๋œ ์ฟผ๋ฆฌ ์‹คํ–‰ ์—”์ง„(Hyper-Pipelining Query Execution ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฐ˜), ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜ ์ •๊ทœ์‹ ํ”„๋กœ์„ธ์„œ RE2, ์ž‘์—… ๋™์‹œ ์‹คํ–‰์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ์ฟผ๋ฆฌ ์ตœ์ ํ™” ํ”„๋กœ๊ทธ๋žจ ๋ฐ MVCC ๋ฉ”์ปค๋‹ˆ์ฆ˜(๋‹ค์ค‘ ๋ฒ„์ „ ๋™์‹œ์„ฑ ์ œ์–ด)์ž…๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ์•„์ง ๊ฐœ๋ฐœ ๋‹จ๊ณ„ ํ˜•์„ฑ ์‹คํ—˜์  ๋ฆด๋ฆฌ์Šค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€