เดฒเตเดเตเดเตพ เดเดพเดฃเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ เดเดชเตเดชเตเดดเตเดเตเดเดฟเดฒเตเด เดตเตเดฌเต เดเดจเตเดฑเตผเดซเตเดธเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดเดเตเดเด เดชเตเดฒเต, เด เดเดจเตเดฑเตผเดซเตเดธเตเดเตพ เดเดเตเดเดจเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเตเดณเตเดณเดคเตเด (เดชเดฒเดชเตเดชเตเดดเตเด) เดตเดณเดฐเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดตเตเด เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเดพเดคเตเดคเดคเตเดฎเดพเดฃเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดพเด. เดเดฟเดฒเดคเต เดจเดฟเดเตเดเตพเดเตเดเต เดชเดฐเดฟเดเดฟเดคเดฎเดพเดฃเต, เดเดฟเดฒเดคเต เดคเดฟเดเดเตเดเตเด เดญเดฏเดพเดจเดเดฎเดพเดฃเต, เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพ เดชเตเดฐเดถเตเดจเดเตเดเตพเดเตเดเตเด เดเดพเดฐเดฃเด เดฒเตเดเตเดเตพ เดเดพเดฃเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดฎเดคเดฒเดฏเต เดเดเตเดเตพ เดคเตเดฑเตเดฑเดพเดฏเดฟ เดธเดฎเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดพเดฃเต เดเดจเตเดจเต เดเดจเดฟเดเตเดเต เดคเตเดจเตเดจเตเดจเตเดจเต: CLI (เดเดฎเดพเตปเดกเต เดฒเตเตป เดเดจเตเดฑเตผเดซเตเดธเต) เดเดณเตเดณ เดเดฐเต เดตเตเดฌเต เดเดจเตเดฑเตผเดซเตเดธเต เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดเตเดเตพ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต. เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดเตเดฏเดฟเตฝ, grep, awk เดเดจเตเดจเดฟเดตเดฏเตโเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเต เดเดจเดฟเดเตเดเต เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เดตเดณเดฐเต เดธเตเดเดเดฐเดฎเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดฒเตเดเตเดเตพเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดจเดฟเดเตเดเต เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดจเตเดฑเตผเดซเตเดธเต tail, grep เดเดจเตเดจเดฟเดตเดฏเตเดเตเดเต เดธเดฎเดพเดจเดฎเดพเดฏ เดเดจเตเดจเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดจเตเดจเดพเตฝ เดชเดฒ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดตเดฐเตเดจเตเดจ เดฒเตเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเดพเดจเตเด เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด. เด เดคเดพเดฏเดคเต, เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เดเตเดฒเดฟเดเตเดเตเดนเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เด เดต เดตเดพเดฏเดฟเดเตเดเตเด!
*เดนเดฌเตเดฐ เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏ เด
เดญเดฟเดชเตเดฐเดพเดฏเด เด
เดจเตเดธเดฐเดฟเดเตเดเต
เดฒเตเดเตเดธเตเดเตเดฒเดฟเดฏเต เดเดฃเตเดเตเดฎเตเดเตเดเตเด
เดเดจเตเดฑเต เดเดจเตเดฑเตผเดซเตเดธเดฟเดจเดพเดฏเดฟ เดเดพเตป เดเดฐเต เดชเตเดฐเต เดเตเดฃเตเดเตเดตเดจเตเดจเดฟเดเตเดเดฟเดฒเตเดฒ, เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏเดฟ เดชเดฑเดเตเดเดพเตฝ, เดเดคเต เดเดฐเต เดชเตเดฐเตเดเตเดเตเดเตเดชเตเดชเดฟเดจเตเดฑเต เดฐเตเดชเดคเตเดคเดฟเดฒเดพเดฃเต เดจเดฟเดฒเดจเดฟเตฝเดเตเดเตเดจเตเดจเดคเต, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเดเดจเดเดฟ เดธเตเดดเตโเดธเต เดเตเดกเต เดเดพเดฃเดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดธเตเดตเดพเดเดคเด:
เดธเดตเดฟเดถเตเดทเดคเดเตพ
เดเตเดฏเดฟเตฝ/เดเตเดฐเตเดชเตเดชเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดตเตผเดเตเดเต เดชเดฐเดฟเดเดฟเดคเดฎเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจ เดเดฐเต เดเดจเตเดฑเตผเดซเตเดธเต เดเดฃเตเดเดพเดเตเดเตเด เดเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เดเดจเตเดฑเต เดฒเดเตเดทเตเดฏเด, เด เดคเดพเดฏเดคเต, เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดพเดฐเตเดฏเดเตเดเตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเด:
- เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเดพเดคเต เดเดฒเตเดฒเดพ เดฒเตเดเตเดเดณเตเด เดเดพเดฃเตเด.
- เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดธเดฌเตโเดธเตเดเตเดฐเดฟเดเดเต เด
เดเดเตเดเดฟเดฏ เดฒเตเดจเตเดเตพ เดตเดฟเดเตเด (เดซเตเดฒเดพเดเต
-F
ัgrep
). - เดชเดคเดฟเดตเต เดเดเตเดธเตเดชเตเดฐเดทเดจเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดตเดฐเดฟเดเตพ เดตเดฟเดเตเด (เดซเตเดฒเดพเดเต
-E
ัgrep
). - เดกเดฟเดซเตเตพเดเตเดเดพเดฏเดฟ, เดเดพเดฃเตเดจเตเดจเดคเต เดตเดฟเดชเดฐเตเดค เดเดพเดฒเดเตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต, เดเดพเดฐเดฃเด เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดฒเตเดเตเดเตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดฆเตเดฏเด เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดคเดพเดฃเต.
- เดเดฐเต เดตเดฐเดฟเดฏเตเดเตเดฏเตเด เด
เดเตเดคเตเดคเดพเดฏเดฟ เดธเดจเตเดฆเตผเดญเด เดเดพเดฃเดฟเดเตเดเตเด (เดเดชเตเดทเดจเตเดเตพ
-A
,-B
ะธ-C
ัgrep
, เดฏเดฅเดพเดเตเดฐเดฎเด เดเดฐเต เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดฒเตเดจเดฟเดจเต เดฎเตเดฎเตเดชเตเด เดถเตเดทเดตเตเด เดเตเดฑเตเดฑเตเด N เดฒเตเดจเตเดเตพ เด เดเตเดเดเดฟเดเตเดเตเดจเตเดจเต). - เดซเดฟเตฝเดเตเดเดฑเดฟเดเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เด
เดฒเตเดฒเดพเดคเตเดฏเต เดเตปเดเดฎเดฟเดเดเต เดฒเตเดเตเดเตพ เดคเดคเตเดธเดฎเดฏเด เดเดพเดฃเตเด (เด
เดคเตเดฏเดพเดตเดถเตเดฏเดฎเดพเดฏเดฟ
tail -f | grep
). - เดเดจเตเดฑเตผเดซเตเดธเต เด
เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด
less
,head
,tail
เดฎเดฑเตเดฑเตเดณเตเดณเดต - เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เด เดตเดฏเตเดเต เดเดฃเตเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเดฟเดฒเตเดฒเดพเดคเต เดซเดฒเดเตเดเตพ เดจเตฝเดเดฃเด; เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เด เดต เดธเตเดตเตเดเดฐเดฟเดเตเดเดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดฟเดเดคเตเดคเตเดณเด เดตเดฐเดฟเดเตพ เดเดฐเต เดธเตเดเตเดฐเตเด เดเดฏเดฟ เด เดเตเดเดเดฟเดเตเดเตเดจเตเดจเต; เดธเดฟเดเตเดจเตฝSIGPIPE
เด เดตเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเดชเตเดฒเต เดฒเตเดเต เดธเตเดเตเดฐเตเดฎเดฟเดเดเดฟเดจเต เดจเดฟเดถเดฌเตเดฆเดฎเดพเดฏเดฟ เดคเดเดธเตเดธเดชเตเดชเตเดเตเดคเตเดคเดฃเดtail
,grep
เดฎเดฑเตเดฑเต UNIX เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟเดเดณเตเด.
เดจเดเดชเตเดชเดพเดเตเดเตฝ
ClickHouse-เดฒเตเดเตเดเต เดฒเตเดเตเดเตพ เดเดเตเดเดจเต เดจเตฝเดเดฃเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเดฟเดจเดเด เดเดเตเดเดจเตเดฏเตเดเตเดเดฟเดฒเตเด เด
เดฑเดฟเดฏเดพเดฎเตเดจเตเดจเต เดเดพเตป เด
เดจเตเดฎเดพเดจเดฟเดเตเดเตเด. เดเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดคเต เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเตป เดเดพเตป เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเต
เดเดฆเตเดฏเด เดจเดฟเดเตเดเตพ เด เดเดฟเดธเตเดฅเดพเดจ เดธเตเดเตเด เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เดจเดฟเดเตเดเตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดธเดฎเดฏเดคเตเดคเดฟเดจเดจเตเดธเดฐเดฟเดเตเดเต เด เดเตเดเตเดเดฟเดฏ เดฒเตเดเตเดเตพ เดธเตเดตเตเดเดฐเดฟเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เด เดต เด เดฐเตเดคเดฟเดฏเดฟเตฝ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดฏเตเดเตเดคเดฟเดธเดนเดฎเดพเดฃเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต. เดจเดฟเดฐเดตเดงเดฟ เดฒเตเดเต เดตเดฟเดญเดพเดเดเตเดเตพ เดเดฃเตเดเตเดเตเดเดฟเตฝ เด เดตเดฏเตเดฒเตเดฒเดพเด เดเดฐเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณเดคเดพเดฃเตเดเตเดเดฟเตฝ, เดชเตเดฐเดพเดฅเดฎเดฟเด เดเตเดฏเตเดเต เดเดฆเตเดฏ เดจเดฟเดฐเดฏเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฒเตเดเต เดตเดฟเดญเดพเดเด เดเดฃเตเดเดพเดเตเดเดพเด - เดเดคเต เดชเดฒเดคเดฟเดจเตเดชเดเดฐเด เดเดฐเต เดเตเดฌเดฟเตพ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเด, เดเดคเต เดเดชเตเดชเตเตพ เดตเดฒเดฟเดฏ เดชเตเดฒเดธเต เดเดฏเดฟเดฐเดฟเดเตเดเตเด ClickHouse-เดฒเตเดเตเดเต เดเตเตผเดเตเดเตเดจเตเดจเต (เดนเดพเตผเดกเต เดกเตเดฐเตเดตเตเดเดณเตเดณเตเดณ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ, เดธเตเดเตเดเตปเดกเดฟเตฝ ~1 เดคเดตเดฃเดฏเดฟเตฝ เดเตเดเตเดคเตฝ เดกเดพเดฑเตเดฑ เดเตเตผเดเตเดเดพเตป เดถเตเดชเดพเตผเดถ เดเตเดฏเตเดฏเตเดจเตเดจเต เดฎเตเดดเตเดตเตป เดธเตเตผเดตเดฑเดฟเดจเตเด).
เด เดคเดพเดฏเดคเต, เดเดเตเดเตพเดเตเดเต เดเดเดฆเตเดถเด เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเดเตเดเดฟเด เดธเตเดเตเด เดเดตเดถเตเดฏเดฎเดพเดฃเต:
CREATE TABLE logs(
category LowCardinality(String), -- ะบะฐัะตะณะพัะธั ะปะพะณะพะฒ (ะพะฟัะธะพะฝะฐะปัะฝะพ)
time DateTime, -- ะฒัะตะผั ัะพะฑััะธั
millis UInt16, -- ะผะธะปะปะธัะตะบัะฝะดั (ะผะพะณัั ะฑััั ะธ ะผะธะบัะพัะตะบัะฝะดั, ะธ ั.ะด.): ัะตะบะพะผะตะฝะดัะตััั ั
ัะฐะฝะธัั, ะตัะปะธ ัะพะฑััะธะน ะผะฝะพะณะพ, ััะพะฑั ะฑัะปะพ ะปะตะณัะต ัะฐะทะปะธัะฐัั ัะพะฑััะธั ะผะตะถะดั ัะพะฑะพะน
..., -- ะฒะฐัะธ ัะพะฑััะฒะตะฝะฝัะต ะฟะพะปั, ะฝะฐะฟัะธะผะตั ะธะผั ัะตัะฒะตัะฐ, ััะพะฒะตะฝั ะปะพะณะธัะพะฒะฐะฝะธั, ะธ ัะฐะบ ะดะฐะปะตะต
message String -- ัะตะบัั ัะพะพะฑัะตะฝะธั
) ENGINE=MergeTree()
ORDER BY (category, time, millis)
เดจเดฟเตผเดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดเดจเดฟเดเตเดเต เดชเดฟเดเดฟเดเตเดเตเดเตเดเตเดเดพเดจเตเด เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเดพเดจเตเด เดเดดเดฟเดฏเตเดจเตเดจ เดฑเดฟเดฏเดฒเดฟเดธเตเดฑเตเดฑเดฟเดเต เดฒเตเดเตเดเดณเตเดณเตเดณ เดเดชเตเดชเตบ เดธเตเดดเตโเดธเตเดเดณเตเดจเตเดจเตเด เดเดจเดฟเดเตเดเต เดเดเดจเดเดฟ เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดเตเดเดฟเดฒเตเดฒ, เด
เดคเดฟเดจเดพเตฝ เดเดพเตป เดเดคเตเดฐเต เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดเดเตเดคเตเดคเต
ClickHouse-เดฒเตเดเตเดเต Amazon เด เดตเดฒเตเดเดจเดเตเดเตพ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ
เดจเดฎเตเดเตเดเต เดเดฐเต เดชเดเตเดเดฟเด เดเดฃเตเดเดพเดเตเดเดพเด:
CREATE TABLE amazon(
review_date Date,
time DateTime DEFAULT toDateTime(toUInt32(review_date) * 86400 + rand() % 86400),
millis UInt16 DEFAULT rand() % 1000,
marketplace LowCardinality(String),
customer_id Int64,
review_id String,
product_id LowCardinality(String),
product_parent Int64,
product_title String,
product_category LowCardinality(String),
star_rating UInt8,
helpful_votes UInt32,
total_votes UInt32,
vine FixedString(1),
verified_purchase FixedString(1),
review_headline String,
review_body String
)
ENGINE=MergeTree()
ORDER BY (time, millis)
SETTINGS index_granularity=8192
เดเดฎเดธเตเตบ เดกเดพเดฑเตเดฑเดพเดธเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เด เดตเดฒเตเดเดจเดคเตเดคเดฟเดจเต เดเดฐเต เดคเตเดฏเดคเดฟ เดฎเดพเดคเตเดฐเดฎเต เดเดณเตเดณเต, เดชเดเตเดทเต เดเตเดคเตเดฏเดฎเดพเดฏ เดธเดฎเดฏเดฎเดฟเดฒเตเดฒ, เด เดคเดฟเดจเดพเตฝ เดจเดฎเตเดเตเดเต เด เดกเดพเดฑเตเดฑ เดเดฐเต เดฑเดพเตปเดกเตบ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดฟเดชเตเดชเดฟเดเตเดเดพเด.
10 GB RAM-เดจเต เด เดจเตเดฏเตเดเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดเดฐเต เดตเดฒเดฟเดฏ เดกเดพเดฑเตเดฑเดพ เดธเตเดฑเตเดฑเต เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเดเตเดเตพ เดเดฒเตเดฒเดพ tsv เดซเดฏเดฒเตเดเดณเตเด เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเดฆเตเดฏเดคเตเดคเต ~20-16 เดตเดฐเต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเตเดเตเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฃเตเดเดคเดฟเดฒเตเดฒ. TSV เดซเดฏเดฒเตเดเตพ เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดพเตป เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต:
for i in *.tsv; do
echo $i;
tail -n +2 $i | pv |
clickhouse-client --input_format_allow_errors_ratio 0.5 --query='INSERT INTO amazon(marketplace,customer_id,review_id,product_id,product_parent,product_title,product_category,star_rating,helpful_votes,total_votes,vine,verified_purchase,review_headline,review_body,review_date) FORMAT TabSeparated'
done
1000 GB เดตเดฒเดฟเดชเตเดชเดฎเตเดณเตเดณ เดเตเดเดฟเตพ เดเตเดฒเตเดกเดฟเดฒเต เดเดฐเต เดธเดพเดงเดพเดฐเดฃ เดชเตเตผเดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเต เดกเดฟเดธเตโเดเดฟเตฝ (เดเดคเต เดเดฐเต HDD เดเดฃเต) (เดเดพเตป เด เดตเดฒเตเดชเตเดชเด เดเดเตเดคเตเดคเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด เดธเตเดชเตเดกเต เด เตฝเดชเตเดชเด เดเตเดเตเดคเดฒเดพเดฏเดคเตเดเตเดฃเตเดเดพเดฃเต, เดเดฐเตเดชเดเตเดทเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเดฐเต SSD เดตเดฟเดฒเดเตเดฑเดเตเดเดคเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดเตเดเดฟเดฒเตเด) เด เดชเตโเดฒเตเดกเต เดตเตเดเดค 75 เดเตเดฑเตเดเดณเดฟเตฝ เดเดเดฆเตเดถเด ~ 4 MB/sec เดเดฏเดฟเดฐเตเดจเตเดจเต.
- เดเดพเตป Google-เตฝ เดเตเดฒเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฐเต เดฑเดฟเดธเตผเดตเตเดทเตป เดเตเดฏเตเดฏเดฃเด, เดชเดเตเดทเต เดเดพเตป เดเดฐเต เดธเตเดตเดเดพเดฐเตเดฏ เด เดเตเดเตเดฃเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเต, เด เดฒเตเดเดจเดคเตเดคเดฟเดจเต เดเดฎเตเดชเดจเดฟเดฏเดฟเดฒเต เดเดจเตเดฑเต เดเตเดฒเดฟเดฏเตเดฎเดพเดฏเดฟ เดฏเดพเดคเตเดฐเต เดฌเดจเตเดงเดตเตเดฎเดฟเดฒเตเดฒ
เด เดชเตเดฐเดคเตเดฏเตเด เดกเดพเดฑเตเดฑเดพเดธเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดพเตป เดเดฒเตเดฒเดพ เดเดฟเดคเตเดฐเตเดเดฐเดฃเดเตเดเดณเตเด เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเด, เดเดพเดฐเดฃเด เดเดคเต เดเดจเตเดฑเต เดเตเดฏเดฟเดฒเตเดฃเตเดเต.
เดกเดพเดฑเตเดฑ เดธเตเดเดพเดจเดฟเดเดเต เดชเตเดฐเตเดเดคเดฟ เดเดพเดฃเดฟเดเตเดเตเด
ClickHouse-เตฝ เดเดเตเดเตพ เดฒเตเดเตเดเดณเตเดณเตเดณ เดเดฐเต เดเตเดฌเดฟเดณเดฟเตฝ เดเดฐเต เดชเตเตผเดฃเตเดฃ เดธเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด, เดเตเดเดพเดคเต เด เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เดเดฃเตเดฏเดฎเดพเดฏ เดธเดฎเดฏเดฎเตเดเตเดเตเดเตเดเดฏเตเด เดเตเดฑเดเตเดเต เดชเตเดฐเตเดคเตเดคเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดพเตฝ เดฆเตเตผเดเดเดพเดฒเดคเตเดคเตเดเตเดเต เดซเดฒเดเตเดเดณเตเดจเตเดจเตเด เดจเตฝเดเดพเดคเดฟเดฐเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดเดพเดฃเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดคเต เดเดเดฟเดคเดฎเดพเดฃเต. เดซเดฒเดคเตเดคเตเดเตเดเตเดเดฟเดฏ เดเดฆเตเดฏ เดตเดฐเดฟเดเตพ เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเตเดตเดฐเต เด
เดจเตเดตเตเดทเดฃเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเตเดเดคเดฟ. เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, HTTP เดคเดฒเดเตเดเตเดเตเดเตเดเดณเดฟเตฝ เดชเตเดฐเตเดเดคเดฟ เด
เดฏเดฏเตเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ HTTP เดเดจเตเดฑเตผเดซเตเดธเดฟเตฝ เดเดฃเตเดเต: send_progress_in_http_headers=1
. เดจเดฟเตผเดญเดพเดเตเดฏเดตเดถเดพเตฝ, เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต Go เดฒเตเดฌเตเดฐเดฑเดฟเดเตเดเต เดคเดฒเดเตเดเตเดเตเดเตเดเตพ เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ, เดเดจเตเดจเดพเตฝ HTTP 1.0 เดเดจเตเดฑเตผเดซเตเดธเต (1.1 เดฎเดพเดฏเดฟ เดคเตเดฑเตเดฑเดฟเดฆเตเดงเดฐเดฟเดเตเดเดฐเตเดคเต!) ClickHouse เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต, เด
เดคเดฟเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต ClickHouse-เดฒเตเดเตเดเต เดเดฐเต เดฑเต TCP เดเดฃเดเตเดทเตป เดคเตเดฑเดจเตเดจเต เด
เดคเต เด
เดตเดฟเดเต เด
เดฏเดเตเดเดพเด. GET /?query=... HTTP/1.0nn
เดเตเดเดพเดคเต เดชเตเดฐเดคเดฟเดเดฐเดฃ เดคเดฒเดเตเดเตเดเตเดเตเดเดณเตเด เดฌเตเดกเดฟเดฏเตเด เดฐเดเตเดทเดชเตเดชเตเดเตเดเดฏเต เดเตปเดเตเดฐเดฟเดชเตเดทเดจเต เดเดฒเตเดฒเดพเดคเต เดธเตเดตเตเดเดฐเดฟเดเตเดเตเด, เด
เดคเดฟเดจเดพเตฝ เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดธเดพเดงเดพเดฐเดฃ เดฒเตเดฌเตเดฐเดฑเดฟ เดชเตเดฒเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ.
ClickHouse-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเตเดเตเดฐเตเดฎเดฟเดเดเต เดฒเตเดเตเดเตพ
เดคเดพเดฐเดคเดฎเตเดฏเตเดจ เดตเดณเดฐเตเดเตเดเดพเดฒเดฎเดพเดฏเดฟ (2019 เดฎเตเดคเตฝ?) เดเตผเดกเตผ เดตเดดเดฟเดฏเตเดณเตเดณ เดเตเดฆเตเดฏเดเตเดเตพเดเตเดเต เดเตเดฒเดฟเดเตเดเตเดนเตเดธเดฟเดจเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดเดฃเตเดเต, เด เดคเดฟเดจเดพเตฝ เดเดฐเต เดเตเดฆเตเดฏเด
SELECT time, millis, message
FROM logs
WHERE message LIKE '%something%'
ORDER BY time DESC, millis DESC
เดธเตเดเดพเตป เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดจเตเดจเดคเตเดตเดฐเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเดพเดคเต, เดธเดจเตเดฆเตเดถเดคเตเดคเดฟเตฝ "เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด" เดเดจเตเดจ เดธเดฌเตโเดธเตเดเตเดฐเดฟเดเดเต เดเดณเตเดณ เดตเดฐเดฟเดเตพ เดเดคเต เดเดเตป เดคเดจเตเดจเต เดคเดฟเดฐเดฟเดเต เดจเตฝเดเดพเตป เดคเตเดเดเตเดเตเด.
เดเตเดเดพเดคเต, เด
เดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฃเดเตเดทเตป เด
เดเดเตเดเดฟเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเตเดฒเดฟเดเตเดเตเดนเตเดธเต เดคเดจเตเดจเต เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดฑเดฆเตเดฆเดพเดเตเดเดฟเดฏเดพเตฝ เด
เดคเต เดตเดณเดฐเต เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดจเตเดจเดพเตฝ เดเดคเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดธเตเดตเดญเดพเดตเดฎเดฒเตเดฒ. เดเดชเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดฏเดพเดจเตเดคเตเดฐเดฟเด เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดฑเดฆเตเดฆเดพเดเตเดเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเดพเด cancel_http_readonly_queries_on_client_close=1
.
Go-เดฏเดฟเตฝ SIGPIPE เดถเดฐเดฟเดฏเดพเดฏเดฟ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเด
เดจเดฟเดเตเดเตพ เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดชเดฑเดฏเตเด, เดเดฎเดพเตปเดกเต some_cmd | head -n 10
, เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดเตเดเดจเต เดเดฎเดพเตปเดกเต some_cmd
เดเดชเตเดชเตเตพ เดเดเตเดธเดฟเดเตเดฏเตเดทเตป เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต head
10 เดตเดฐเดฟเดเตพ เดเตเดฑเดเตเดเต? เดเดคเตเดคเดฐเด เดฒเดณเดฟเดคเดฎเดพเดฃเต: เดเดชเตเดชเตเตพ head
เด
เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเต, เดชเตเดชเตเดชเต เด
เดเดฏเตเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต some_cmd เดเดฎเดพเตปเดกเดฟเดจเตเดฑเต stdout, เดธเตเดชเดพเดงเดฟเดเดฎเดพเดฏเดฟ, "เดเดตเดฟเดเตเดฏเตเด" เดชเตเดฏเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเดพเตป เดคเตเดเดเตเดเตเดจเตเดจเต. เดเดชเตเดชเตเดพเตพ some_cmd
เด
เดเดเตเด เดชเตเดชเตเดชเดฟเดฒเตเดเตเดเต เดเดดเตเดคเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต,
Go-เดฏเดฟเตฝ เดเดคเตเด เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ SIGPIPE เดธเดฟเดเตเดจเตฝ เดนเดพเตปเดกเตโเดฒเดฑเตเด เด เดตเดธเดพเดจเด "เดธเดฟเดเตเดจเตฝ: SIGPIPE" เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดเดฐเต เดธเดจเตเดฆเตเดถเดตเตเด เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต, เด เดธเดจเตเดฆเตเดถเด เดฎเดพเดฏเตโเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดจเดฎเตเดฎเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ SIGPIPE เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต, เด เดคเดพเดฏเดคเต เดจเดฟเดถเดฌเตเดฆเดฎเดพเดฏเดฟ เดชเตเดฑเดคเตเดคเต:
ch := make(chan os.Signal)
signal.Notify(ch, syscall.SIGPIPE)
go func() {
<-ch
os.Exit(0)
}()
เดธเดจเตเดฆเตเดถ เดธเดจเตเดฆเตผเดญเด เดเดพเดฃเดฟเดเตเดเตเด
เดเดฟเดฒ เดชเดฟเดถเดเตเดเตพ เดธเดเดญเดตเดฟเดเตเด เดธเดจเตเดฆเตผเดญเด (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดคเต เด
เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดพเดฃเต เดชเดฐเดฟเดญเตเดฐเดพเดจเตเดคเดฟ เดธเตเดทเตเดเดฟเดเตเดเดคเต, เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดคเดเดฐเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเดจเตเดคเต เด
เดจเตเดฌเดจเตเดง เดชเตเดฐเดถเตเดจเดเตเดเตพ เดฆเตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต) grep
เดเดคเต -A, -B, -C เดเดชเตโเดทเดจเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดฃเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต, เดเดคเต เดธเดจเตเดฆเตเดถเดคเตเดคเดฟเดจเต เดฏเดฅเดพเดเตเดฐเดฎเด เดฏเดฅเดพเดเตเดฐเดฎเด เดถเตเดทเดตเตเด เดฎเตเดฎเตเดชเตเด เดเตเดฑเตเดฑเตเดฎเตเดณเตเดณ เดตเดฐเดฟเดเดณเตเดเต เดเดฃเตเดฃเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเตผเดญเดพเดเตเดฏเดตเดถเดพเตฝ, ClickHouse-เตฝ เดเดคเต เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณ เดเดณเตเดชเตเดชเดตเดดเดฟ เดเดพเตป เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ, เด เดคเดฟเดจเดพเตฝ เดธเดจเตเดฆเตผเดญเด เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดซเดฒเดคเตเดคเดฟเดจเตเดฑเต เดเดฐเต เดตเดฐเดฟเดฏเดฟเดฒเตเดเตเดเตเด เดเดคเตเดชเตเดฒเตเดณเตเดณ เดเดฐเต เด เดงเดฟเด เด เดญเตเดฏเตผเดคเตเดฅเดจ เด เดฏเดฏเตโเดเตเดเตเดจเตเดจเต (เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เด เดเตเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฏเตเด เดธเดจเตเดฆเตผเดญเด เดฎเตเดฎเตเดชเต เดเดพเดฃเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเต เดเดจเตเดจเดคเดฟเดจเต เดเดถเตเดฐเดฏเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดถเตเดทเด):
SELECT time,millis,review_body FROM amazon
WHERE (time = 'ะะ ะะะฏ_ะกะะะซะขะะฏ' AND millis < ะะะะะะกะะะฃะะะซ_ะกะะะซะขะะฏ) OR (time < 'ะะ ะะะฏ_ะกะะะซะขะะฏ')
ORDER BY time DESC, millis DESC
LIMIT ะะะะะงะะกะขะะ_ะกะขะ ะะ_ะะะะขะะะกะขะ
SETTINGS max_threads=1
ClickHouse เด เดจเตเดฌเดจเตเดง เดฒเตเตป เดคเดฟเดฐเดฟเดเต เดจเตฝเดเดฟเดฏ เดเดเตป เดคเดจเตเดจเต เด เดญเตเดฏเตผเดคเตเดฅเดจ เด เดฏเดฏเตโเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เด เดคเต เดเดพเดทเตเดฏเดฟเตฝ เด เดตเดธเดพเดจเดฟเดเตเดเตเดเดฏเตเด เดชเตเดคเตเดตเต เด เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดณเดฐเต เดตเตเดเดคเตเดคเดฟเตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดเดฏเตเด เดเตเดฑเดเตเดเต CPU เดเดชเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดเดจเตเดฑเต เดตเตเตผเดเตเดตเตฝ เดฎเตเดทเตเดจเดฟเตฝ เดเดเดฆเตเดถเด ~6 ms เดเดเตเดเตเดเตเด).
เดชเตเดคเดฟเดฏ เดธเดจเตเดฆเตเดถเดเตเดเตพ เดคเดคเตเดธเดฎเดฏเด เดเดพเดฃเดฟเดเตเดเตเด
เดเตปเดเดฎเดฟเดเดเต เดธเดจเตเดฆเตเดถเดเตเดเตพ (เดเดคเดพเดฃเตเดเต) เดคเดคเตเดธเดฎเดฏเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพ เดฎเตเดฎเตเดชเต เดจเตเดฐเดฟเดเตเด เด เดตเดธเดพเดจ เดเตเดเดธเตเดฑเตเดฑเดพเดฎเตเดชเต เดเตผเดคเตเดคเตเดเตเดฃเตเดเต เดเตเดฑเดเตเดเต เดธเตเดเตเดเตปเดกเดฟเตฝ เดเดฐเดฟเดเตเดเตฝ เด เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต.
เดเดฎเดพเตปเดกเต เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดธเดพเดงเดพเดฐเดฃ logscli เดเดฎเดพเตปเดกเตเดเตพ เดชเตเดฐเดพเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ เดเดเตเดเดจเตเดฏเดฟเดฐเดฟเดเตเดเตเด?
เดฒเตเดเดจเดคเตเดคเดฟเดจเตเดฑเต เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดเดพเตป เดธเตเดเดฟเดชเตเดชเดฟเดเตเด เดเดฎเดธเตเตบ เดกเดพเดฑเตเดฑเดพเดธเตเดฑเตเดฑเต เดจเดฟเดเตเดเตพ เดกเตเตบเดฒเตเดกเต เดเตเดฏเตโเดคเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด:
# ะะพะบะฐะทะฐัั ัััะพะบะธ, ะณะดะต ะฒัััะตัะฐะตััั ัะปะพะฒะพ walmart
$ logscli -F 'walmart' | less
# ะะพะบะฐะทะฐัั ัะฐะผัะต ัะฒะตะถะธะต 10 ัััะพะบ, ะณะดะต ะฒัััะตัะฐะตััั "terrible"
$ logscli -F terrible -limit 10
# ะขะพ ะถะต ัะฐะผะพะต ะฑะตะท -limit:
$ logscli -F terrible | head -n 10
# ะะพะบะฐะทะฐัั ะฒัะต ัััะพะบะธ, ะฟะพะดั
ะพะดััะธะต ะฟะพะด /times [0-9]/, ะฝะฐะฟะธัะฐะฝะฝัะต ะดะปั vine ะธ ั ะบะพัะพััั
ะฒััะพะบะธะน ัะตะนัะธะฝะณ
$ logscli -E 'times [0-9]' -where="vine='Y' AND star_rating>4" | less
# ะะพะบะฐะทะฐัั ะฒัะต ัััะพะบะธ ัะพ ัะปะพะฒะพะผ "panic" ะธ 3 ัััะพะบะธ ะบะพะฝัะตะบััะฐ ะฒะพะบััะณ
$ logscli -F 'panic' -C 3 | less
# ะะตะฟัะตััะฒะฝะพ ะฟะพะบะฐะทัะฒะฐัั ะฝะพะฒัะต ัััะพะบะธ ัะพ ัะปะพะฒะพะผ "5-star"
$ logscli -F '5-star' -tailf
เดฑเตเดซเดฑเตปเดธเตเดเตพ
เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟ เดเตเดกเต (เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเตป เดเดฒเตเดฒเดพเดคเต) github-เตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต
เด เดตเดฒเดเดฌเด: www.habr.com