KDB+ μκ³μ΄ λ°μ΄ν°λ² μ΄μ€
KDB+λ λ²‘ν° κΈ°λ°μ μΈμ΄λ₯Ό μ 곡νλ©° λμ μ±λ₯μ μ 곡νλ μκ³μ΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ‘°κΈ λ νμ©ν μ μλ λ°©μμ μμ보μ.
λ³λ ¬ μ²λ¦¬λ₯Ό μν 보쑰 μ€λ λ
KDB+λ κΈ°λ³Έμ μΌλ‘ μ±κΈ μ½μ΄μ μ±κΈ μ€λ λ κΈ°λ°μΌλ‘ λμνλ€. λ³λ ¬ μ²λ¦¬(Parallel Processing)λ λ³λμ 보쑰 μ€λ λμ μν΄ μνλλ€. 보쑰 μ€λ λλ KDB+ νλ‘μΈμ€ μ€ν μ -s
μ΅μ
μΌλ‘ μ§μ νλ©° λ©μΈ μ€λ λμ 보쑰 μ€λ λκ° ν΅μ μ IPC μ§λ ¬νλ₯Ό μννλ―λ‘ μ€λ²ν€λκ° ν° μμ
μ ν΄λΉλλ―λ‘ μ¬μ©μ€μΈ μ½μ΄ μμ λ°λΌ μ λΉν 보쑰 μ€λ λλ₯Ό ꡬμ±ν΄μΌνλ€. λν, νλ‘μΈμ€ λ΄μμ 보쑰 μ€λ λ μλ₯Ό μ‘°μ ν μ μμ§λ§ νλ‘μΈμ€ μ€ν μ μ§μ ν 보쑰 μ€λ λ μλ₯Ό λμ μ μμμ μ£Όμν΄μΌνλ€.
q -p 5555 -s 12
- Parallel Each β peach
- Parallel on Cut β .Q.fc
λ€μμ νν°μ μ μ‘°νν΄μΌνλ HDB νλ‘μΈμ€λ 보쑰 μ€λ λλ₯Ό λμ΄ μ¬μ©μ μ μ ν¨μμμ λ³λ ¬ μ²λ¦¬κ° κ°λ₯νλλ‘ κ³ λ €νμΈμ.
νν°μ μμ λ°λ₯Έ λμ€ν¬ μ±λ₯ μ΄μ
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ λμ€ν¬ I/O κ° μ€μν κ²μ²λΌ KDB+ μμλ μΌμ μκ° λ²μμ λν λ°μ΄ν°λ₯Ό μ‘°ννκΈ° μνμ¬ νμΈν΄μΌν νν°μ μ μμ λ°λΌ λμ€ν¬ I/Oκ° μ€μν΄μ§λ€. μλ₯Ό λ€μ΄, 1μκ° λ¨μλ‘ μ μ₯ν΄λμ νν°μ μ κ²½μ°μ νλ¬ λ²μμ λν ν΅κ³λ₯Ό μν΄μ μ‘°ννκ³ μ νλ€λ©΄ μ½ 720κ°μ νν°μ ν΄λλ₯Ό μ‘°νν΄μΌνκ³ KDB+ νλ‘μΈμ€λ ν΄λΉ ν΄λ μ‘μΈμ€λ₯Ό μν΄ λμ€ν¬ λ³Όλ₯¨μ μμ‘΄ν μ λ°μ μλ€. μ΄μ²λΌ μκ³μ΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό νμ©νλ€κ³ ν΄λ ν루μ μ μ₯λλ λ°μ΄ν° κ·λͺ¨μ λ°λΌ νν°μ μ κ²°μ ν΄μΌνλ κ²μ΄ μ€μνλ€. KDB+ μμλ λ€μμ λμ€ν¬ λ³Όλ₯¨μ μ¬μ©ν μ μλ μΈκ·Έλ¨ΌνΈλ μ§μνλλ° μλ‘ λ€λ₯Έ λμ€ν¬ λ³Όλ₯¨μ ν΅ν΄ λ³λ ¬ μ‘μΈμ€λ₯Ό μνν μ μλ€.
Partition data correctly: data for a particular date must reside in the partition for that date.
μ‘°ν λ²μ λ³ μμ μκ° λΉκ΅
κΈ°μ€ | μ‘°ν λ²μ | μκ°λ³ νν°μ | μΌμλ³ νν°μ |
---|---|---|---|
μΌλ³ | νλ¬ | 2.95s π | 30msβοΈ |
μ£Όκ° | 7μΌ | 50ms | 40ms |
μκ° | 1λ | 40.79s π₯ | 83msβοΈ |
InfluxDB λλ TimescaleDB μμ Continuous aggregates κΈ°λ₯μ ν¬ν¨νκ³ μλ μ΄μ λ κ·λͺ¨κ° ν° λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ‘°ννκΈ° μν¨ μ λλ€.
μ‘°ν μ±λ₯μ ν₯μμν¬ μ μλ μμ±
KDB+ μμλ Sorted, Unique, Grouped, Parted μ κ°μ μμ±(Attribute)μ μ 곡νμ¬ μΏΌλ¦¬μ λν μ±λ₯μ λμΌ μ μλ€. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μΈλ±μ€μ ννΈλΌκ³ μ΄ν΄νλ©΄ λ κ² κ°λ€.
/ apply attributes
meter_with_attr: 0!update `s#id, `p#name, `g#timestamp from `name xasc select from meter
meta meter_with_attr
| c | t f a |
| --------- | ----- |
| date | d |
| id | s s |
| name | s p |
| timestamp | p g |
| val | f |
/ remove attributes
meter_with_attr:update `#id,`#name from meter_with_attr
meta meter_with_attr
| c | t f a |
| --------- | ----- |
| date | d |
| id | s |
| name | s |
| timestamp | p g |
| val | f |
νν°μ μΌλ‘ μ μ₯λ ν μ΄λΈμ λͺ¨λ νν°μ μ μμ±μ΄ μ§μ λμ΄μμ΄μΌ ν©λλ€. dbmaint.setattrcol λ₯Ό μ°Έκ³ νμΈμ.
λ²‘ν° DBμ λν κ΄μ¬λκ° λμμ§λ©΄μ KDB.AIλ AIλ₯Ό μν λ²‘ν° λ°μ΄ν°λ² μ΄μ€λ‘ μ 곡νλκ° λ΄ λλ€.