เจธเจพเจกเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ: เจ…เจธเฉ€เจ‚ Go เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจœเจจเจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจ•เจฐเจตเจพเจ‡เจ†

เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš, เจฆเฉเจจเฉ€เจ† เจฆเฉ€ เจฒเจ—เจญเจ— เจนเจฐ เจ•เฉฐเจชเจจเฉ€ เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจธเจฐเฉ‹เจค 'เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจ‡เจ•เฉฑเจคเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจชเฉเจฐเฉ‡เจฐเจฃเจพ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ - เจ•เฉฐเจชเจจเฉ€เจ†เจ‚ เจ‡เจน เจœเจพเจฃเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ‰เจคเจชเจพเจฆ/เจตเฉˆเจฌเจธเจพเจˆเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจธเจฎเจเจฃเจพ เจนเฉˆเฅค เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจฎเจพเจฐเจ•เฉ€เจŸ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเจพเจงเจจ เจนเจจ - เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจœเฉ‹ เจกเฉˆเจธเจผเจฌเฉ‹เจฐเจกเจพเจ‚ เจ…เจคเฉ‡ เจ—เฉเจฐเจพเจซเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ—เฉ‚เจ—เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ) เจจเฉ‚เฉฐ เจ—เจพเจนเจ• เจกเฉ‡เจŸเจพ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจ•เฉฑเจคเจฐ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ–เฉฐเจก).

เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจฎเจฟเจฒเฉ€ เจนเฉˆ เจœเฉ‹ เจ…เจœเฉ‡ เจคเฉฑเจ• เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹เจˆ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจชเฉˆเจฆเจพ เจนเฉ‹เจ‡เจ† เจ‡เจตเฉˆเจ‚เจŸเจจเฉˆเจŸเจฟเจต - เจ“เจชเจจ-เจธเฉ‹เจฐเจธ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพเฅค เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจธเฉ‡เจตเจพ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจ‰เจ‚ เจ—เจ, เจ‡เจธ เจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจฆเจฟเฉฑเจคเจพ เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ•เฉ€ เจนเฉ‹เจ‡เจ† (เจ•เฉ‹เจก เจฆเฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจจเจพเจฒ), เจ•เฉฑเจŸ เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจชเฉœเฉเจนเฉ‹เฅค

เจธเจพเจกเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ: เจ…เจธเฉ€เจ‚ Go เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจœเจจเจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจ•เจฐเจตเจพเจ‡เจ†

เจธเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€ เจธเฉ‡เจตเจพ เจฆเจพ เจตเจฟเจ•เจพเจธ เจ•เจฟเจ‰เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ?

เจ‡เจน เจจเฉฑเจฌเฉ‡ เจฆเจพ เจฆเจนเจพเจ•เจพ เจธเฉ€, เจ…เจธเฉ€เจ‚ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจฌเจš เจ—เจเฅค 2019, เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพ เจ—เจพเจนเจ• เจกเฉ‡เจŸเจพ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ API เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ kSense, เจœเจฟเจธ เจจเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจกเฉ‡เจŸเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ, เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจ†เจฆเจฟ เจฒเจˆ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฐเฉ‹เจคเจพเจ‚ (เจซเฉ‡เจธเจฌเฉเฉฑเจ• เจตเจฟเจ—เจฟเจ†เจชเจจ, เจธเจŸเฉเจฐเจพเจˆเจช, เจธเฉ‡เจฒเจธเจซเฉ‹เจฐเจธ, เจ—เฉ‚เจ—เจฒ เจชเจฒเฉ‡, เจ—เฉ‚เจ—เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ, เจ†เจฆเจฟ) เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€เฅค เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเจพเจกเฉ‡ เจกเฉ‡เจŸเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ—เฉ‚เจ—เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ GA เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)เฅค เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเจพเจฒ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ‰เจคเจชเจพเจฆ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเฉ‹ เจ‰เจน GA เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจ—เฉ‚เจ—เจฒ เจจเจฎเฉ‚เจจเฉ‡ เจกเจพเจŸเจพ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ GA เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฒเจˆ เจธเฉเจตเจฟเจงเจพ เจฆเจพ เจฎเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเจพเจฒ เจ•เจพเจซเจผเฉ€ เจ—เฉฑเจฒเจฌเจพเจค เจ•เฉ€เจคเฉ€ เจ…เจคเฉ‡ เจฎเจนเจฟเจธเฉ‚เจธ เจ•เฉ€เจคเจพ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉˆเจ—เจฎเฉˆเจ‚เจŸ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ (เจœเฉ‹ เจ•เจฟ, เจตเฉˆเจธเฉ‡, เจ•เฉเจ เจฆเจฟเจจ เจชเจนเจฟเจฒเจพเจ‚ เจธเฉ€ 3.2 เจฌเจฟเจฒเฉ€เจ…เจจ เจกเจพเจฒเจฐ เจตเจฟเฉฑเจš เจตเฉ‡เจšเจฟเจ† เจ—เจฟเจ†).

เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ†เจชเจฃเฉ‡ เจตเฉˆเจฌ เจธเจฐเฉ‹เจค เจคเฉ‡ เจ‡เฉฑเจ• เจ–เฉฐเจก เจœเจพเจตเจพเจธเจ•เฉเจฐเจฟเจชเจŸ เจชเจฟเจ•เจธเจฒ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจตเจฟเจตเจนเจพเจฐ เจกเฉ‡เจŸเจพ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ)เฅค เจชเจฐ เจ–เฉฐเจก เจฆเจพ เจตเฉ€ เจ‡เจธเจฆเจพ เจ˜เจŸเจพเจ“ เจนเฉˆ - เจ•เฉ€เจฎเจค. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจตเฉˆเจฌ เจธเจฐเฉ‹เจค เจตเจฟเฉฑเจš 90,000 MTU (เจฎเจพเจธเจฟเจ• เจŸเฉเจฐเฉˆเจ• เจ•เฉ€เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ) เจนเจจ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉˆเจธเจผเฉ€เจ…เจฐ เจจเฉ‚เฉฐ เจชเฉเจฐเจคเฉ€ เจฎเจนเฉ€เจจเจพ $ 1,000 เจฆเจพ เจญเฉเจ—เจคเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เฉฑเจ• เจคเฉ€เจœเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจตเฉ€ เจธเฉ€ - เจ•เฉเจ เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจเจกเจฌเจฒเจพเจ•) เจจเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจจเฉ‚เฉฐ เจฌเจฒเฉŒเจ• เจ•เฉ€เจคเจพเฅค เจฌเฉเจฐเจพเจŠเจœเจผเจฐ เจคเฉ‹เจ‚ http เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ GA เจ…เจคเฉ‡ เจ–เฉฐเจก เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจเฅค เจธเจพเจกเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ‡เฉฑเจ›เจพเจตเจพเจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพ เจฌเจฃเจพเจˆ เจนเฉˆ เจœเฉ‹ เจกเฉ‡เจŸเจพ เจฆเจพ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจธเจฎเฉ‚เจน (เจฌเจฟเจจเจพเจ‚ เจจเจฎเฉ‚เจจเฉ‡ เจฆเฉ‡), เจฎเฉเจซเจผเจค เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ 'เจคเฉ‡ เจšเฉฑเจฒ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจธเฉ‡เจตเจพ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ

เจธเฉ‡เจตเจพ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจนเจฟเฉฑเจธเฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ: เจ‡เฉฑเจ• เจœเจพเจตเจพเจธเจ•เฉเจฐเจฟเจชเจŸ เจชเจฟเจ•เจธเจฒ (เจœเจฟเจธ เจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจŸเจพเจˆเจชเจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เจฟเจ†), เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจนเจฟเฉฑเจธเจพ GO เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจœเฉ‹เจ‚ Redshift เจ…เจคเฉ‡ BigQuery เจจเฉ‚เฉฐ เจตเจฐเจคเจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพเจˆ เจ—เจˆ เจธเฉ€ (เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ Postgres เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ†เฅค , เจ•เจฒเจฟเจ•เจนเจพเจŠเจธ เจ…เจคเฉ‡ เจธเจจเฉ‹เจซเจฒเฉ‡เจ•)เฅค

เจˆเจตเฉˆเจ‚เจŸเจธ GA เจ…เจคเฉ‡ เจ–เฉฐเจก เจฆเฉ€ เจฌเจฃเจคเจฐ เจจเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจ›เฉฑเจกเจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค เจœเจฟเจธเจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€ เจ‰เจน เจตเฉˆเฉฑเจฌ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€ เจกเฉเจชเจฒเฉ€เจ•เฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ€ เจธเฉ€ เจœเจฟเฉฑเจฅเฉ‡ เจชเจฟเจ•เจธเจฒ เจธเจพเจกเฉ‡ เจฌเฉˆเจ•เจเจ‚เจก เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ, เจ‡เจน เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจนเฉˆ. JavaScript เจชเจฟเจ•เจธเจฒ เจจเฉ‡ เจฎเฉ‚เจฒ GA เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจจเจพเจฒ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เฉ€เจคเจพ เจนเฉˆ เจœเฉ‹ เจธเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ‡เจตเฉˆเจ‚เจŸ เจฆเฉ€ เจกเฉเจชเจฒเฉ€เจ•เฉ‡เจŸ เจนเฉˆเฅค

//'ga' - ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะต ะฝะฐะทะฒะฐะฝะธะต ะฟะตั€ะตะผะตะฝะฝะพะน Google Analytics
if (window.ga) {
    ga(tracker => {
        var originalSendHitTask = tracker.get('sendHitTask');
        tracker.set('sendHitTask', (model) => {
            var payLoad = model.get('hitPayload');
            //ะพั‚ะฟั€ะฐะฒะบะฐ ะพั€ะธะณะธะฝะฐะปัŒะฝะพะณะพ ัะพะฑั‹ั‚ะธั ะฒ GA
            originalSendHitTask(model);
            let jsonPayload = this.parseQuery(payLoad);
            //ะพั‚ะฟั€ะฐะฒะบะฐ ัะพะฑั‹ั‚ะธั ะฒ ะฝะฐัˆ ัะตั€ะฒะธั
            this.send3p('ga', jsonPayload);
        });
    });
}

เจธเฉˆเจ—เจฎเฉˆเจ‚เจŸ เจชเจฟเจ•เจธเจฒ เจฆเฉ‡ เจจเจพเจฒ, เจธเจญ เจ•เฉเจ เจธเจฐเจฒ เจนเฉˆ, เจ‡เจธ เจตเจฟเฉฑเจš เจฎเจฟเจกเจฒเจตเฉ‡เจ…เจฐ เจตเจฟเจงเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค


//'analytics' - ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะต ะฝะฐะทะฒะฐะฝะธะต ะฟะตั€ะตะผะตะฝะฝะพะน Segment
if (window.analytics) {
    if (window.analytics.addSourceMiddleware) {
        window.analytics.addSourceMiddleware(chain => {
            try {
		//ะดัƒะฑะปะธั€ะพะฒะฐะฝะธะต ัะพะฑั‹ั‚ะธั ะฒ ะฝะฐัˆ ัะตั€ะฒะธั
                this.send3p('ajs', chain.payload);
            } catch (e) {
                LOG.warn('Failed to send an event', e)
            }
	    //ะพั‚ะฟั€ะฐะฒะบะฐ ะพั€ะธะณะธะฝะฐะปัŒะฝะพะณะพ ัะพะฑั‹ั‚ะธั ะฒ Segment
            chain.next(chain.payload);
        });
    } else {
        LOG.warn("Invalid interceptor state. Analytics js initialized, but not completely");
    }
} else {
    LOG.warn('Analytics.js listener is not set.');
}

เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ json เจญเฉ‡เจœเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆ:


//ะžั‚ะฟั€ะฐะฒะบะฐ ัะพะฑั‹ั‚ะธะน ั ะฟั€ะพะธะทะฒะพะปัŒะฝั‹ะผ json ะพะฑัŠะตะบั‚ะพะผ
eventN.track('product_page_view', {
    product_id: '1e48fb70-ef12-4ea9-ab10-fd0b910c49ce',
    product_price: 399.99,
    price_currency: 'USD'
    product_release_start: '2020-09-25T12:38:27.763000Z'
});

เจ…เฉฑเจ—เฉ‡, เจ†เจ“ เจธเจฐเจตเจฐ เจธเจพเจˆเจก เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเฉ€เจ. เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ http เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจพเจงเฉ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจพเจฒ เจญเจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ€เจ“เจกเจพเจŸเจพ (เจงเฉฐเจจเจตเจพเจฆ เจ…เจงเจฟเจ•เจคเจฎ เจฆเจฟเจฎเจพเจ— เจ‡เจธเจฆเฉ‡ เจฒเจˆ) เจ…เจคเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฒเจฟเจ–เฉ‹เฅค เจ…เจธเฉ€เจ‚ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเฉฐเจฐเจšเจจเจพ เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เฉ‡เฅค เจ…เจธเฉ€เจ‚ เจ‡เจจเจ•เจฎเจฟเฉฐเจ— เจˆเจตเฉˆเจ‚เจŸ json เจฆเฉ€ เจฌเจฃเจคเจฐ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจกเฉ‡เจŸเจพ เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจจเฉ‡เจธเจŸเจก เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เฉฐเจชเฉ‹เจœเจผ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจฎเจคเจฒ เจฌเจฃเจคเจฐ เจตเจฟเฉฑเจš เจ˜เจŸเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ:

//ะฒั…ะพะดัั‰ะธะน json
{
  "field_1":  {
    "sub_field_1": "text1",
    "sub_field_2": 100
  },
  "field_2": "text2",
  "field_3": {
    "sub_field_1": {
      "sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
    }
  }
}

//ั€ะตะทัƒะปัŒั‚ะฐั‚
{
  "field_1_sub_field_1":  "text1",
  "field_1_sub_field_2":  100,
  "field_2": "text2",
  "field_3_sub_field_1_sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
}

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจเจฐเฉ‡ เจจเฉ‚เฉฐ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจธเจคเจฐ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจฐเจฟเจฒเฉ‡เจธเจผเจจเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจตเจฟเจ•เจฒเจชเจฟเจ• เจฎเฉˆเจชเจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจจเจพเจฎ เจฌเจฆเจฒเจฃเจพ เจœเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃเจพ เจตเฉ€ เจธเฉฐเจญเจต เจนเฉˆเฅค เจ‰เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจพเจŸเจพ เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจœเจพเจ‚ เจ‡เฉฑเจ• เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ เจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ‡ เจตเจฟเฉฑเจš เจ•เจพเจธเจŸ เจ•เจฐเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡ json เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจธเจคเจฐ เจนเฉˆ (เจ–เฉ‡เจคเจฐ_3_sub_field_1_sub_sub_field_1 เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจคเฉ‹เจ‚), เจซเจฟเจฐ เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเฉˆเจชเจฟเฉฐเจ— เจจเจฟเจฏเจฎ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจซเฉ€เจฒเจก เจฆเฉ€ เจกเฉ‡เจŸเจพ เจ•เจฟเจธเจฎ เจชเจนเจฟเจฒเจพเจ‚ json เจฎเฉเฉฑเจฒ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ•เจฟเจธเจฎ เจ•เจพเจธเจŸเจฟเฉฐเจ— เจจเจฟเจฏเจฎ (เจœเฉ‡เจ•เจฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ) เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ 4 เจฎเฉเฉฑเจ– เจกเจพเจŸเจพ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจนเฉˆ: STRING, FLOAT64, INT64 เจ…เจคเฉ‡ TIMESTAMPเฅค เจฎเฉˆเจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ•เจพเจธเจŸเจฟเฉฐเจ— เจจเจฟเจฏเจฎ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ:

rules:
  - "/field_1/subfield_1 -> " #ะฟั€ะฐะฒะธะปะพ ัƒะดะฐะปะตะฝะธั ะฟะพะปั
  - "/field_2/subfield_1 -> /field_10/subfield_1" #ะฟั€ะฐะฒะธะปะพ ะฟะตั€ะตะฝะพัะฐ ะฟะพะปั
  - "/field_3/subfield_1/subsubfield_1 -> (timestamp) /field_20" #ะฟั€ะฐะฒะธะปะพ ะฟะตั€ะตะฝะพัะฐ ะฟะพะปั ะธ ะฟั€ะธะฒะตะดะตะฝะธั ั‚ะธะฟะฐ

เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ:

  • json struct เจจเฉ‚เฉฐ เจซเจฒเฉˆเจŸ struct เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‹
  • เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ€ เจกเจพเจŸเจพ เจ•เจฟเจธเจฎ เจฆเจพ เจจเจฟเจฐเจงเจพเจฐเจจ เจ•เจฐเจจเจพ
  • เจฎเฉˆเจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจŸเจพเจˆเจช เจ•เจพเจธเจŸเจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ

เจซเจฟเจฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ json เจขเจพเจ‚เจšเฉ‡ เจคเฉ‹เจ‚:

{
    "product_id":  "1e48fb70-ef12-4ea9-ab10-fd0b910c49ce",
    "product_price": 399.99,
    "price_currency": "USD",
    "product_type": "supplies",
    "product_release_start": "2020-09-25T12:38:27.763000Z",
    "images": {
      "main": "picture1",
      "sub":  "picture2"
    }
}

เจกเจพเจŸเจพ เจธเจ•เฉ€เจฎเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ:

"product_id" character varying,
"product_price" numeric (38,18),
"price_currency" character varying,
"product_type" character varying,
"product_release_start" timestamp,
"images_main" character varying,
"images_sub" character varying

เจ…เจธเฉ€เจ‚ เจ‡เจน เจตเฉ€ เจธเฉ‹เจšเจฟเจ† เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจตเจฟเจญเจพเจ—เฉ€เจ•เจฐเจจ เจœเจพเจ‚ เจธเจชเจฒเจฟเจŸ เจกเฉ‡เจŸเจพ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจฐเจฃเฉ€ เจฆเฉ‡ เจจเจพเจฎ เจจเฉ‚เฉฐ เจธเจฅเจฟเจฐ เจตเจœเฉ‹เจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจธเจฎเฉ€เจ•เจฐเจจ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš. เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, เจ‡เจตเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆ_เจ•เจฟเจธเจฎ เจ…เจคเฉ‡ _เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจ–เฉ‡เจคเจฐเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ เจธเจชเจฒเจพเจˆ_2020_10):

tableName: '{{.product_type}}_{{._timestamp.Format "2006_01"}}'

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฆเฉ€ เจฌเจฃเจคเจฐ เจฐเจจเจŸเจพเจˆเจฎ 'เจคเฉ‡ เจฌเจฆเจฒ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจŸเฉ‡เจฌเจฒ เจฆเฉ€ เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ เจ˜เจŸเจจเจพ เจฆเฉ€ เจฌเจฃเจคเจฐ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจ…เฉฐเจคเจฐ เจฎเจฟเจฒเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจพเจฐเจฃเฉ€ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเจพเจฒ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจชเฉˆเจš SQL เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹:

#ะŸั€ะธะผะตั€ ะดะปั Postgres
ALTER TABLE "schema"."table" ADD COLUMN new_column character varying

เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ

เจธเจพเจกเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ: เจ…เจธเฉ€เจ‚ Go เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจœเจจเจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจ•เจฐเจตเจพเจ‡เจ†

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจคเฉ‡ เจ‡เจตเฉˆเจ‚เจŸเจธ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฃ เจฆเฉ€ เจจเจนเฉ€เจ‚? เจกเจพเจŸเจพเจฌเฉ‡เจธ เจนเจฎเฉ‡เจธเจผเจพ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจธเฉฐเจฎเจฟเจฒเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‰เฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ‡ (postgres เจธเจฟเจซเจพเจฐเจธเจผเจพเจ‚). เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจฒเฉŒเจ—เจฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ†เจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจ—เฉ‹เจฐเจŸเฉ€เจจ (เจฅเฉเจฐเฉˆเจก) เจตเจฟเฉฑเจš เจซเจพเจˆเจฒ เจฐเฉ€เจกเจฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจกเฉ‡เจŸเจพ เจธเจ•เฉ€เจฎ เจฆเฉ€ เจชเจฐเจฟเจตเจฐเจคเจจ เจ…เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจŸเฉ‡เจฌเจฒ เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉเจ†เจฐเจพ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เจฟ เจŸเฉ‡เจฌเจฒ เจธเจ•เฉ€เจฎเจพ เจ…เฉฑเจช-เจŸเฉ‚-เจกเฉ‡เจŸ เจนเฉˆ, เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉˆเจš เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจงเจพ เจกเฉ‡เจŸเจพ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ†, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฒเจˆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจฌเจนเฉเจคเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเจฐเจฟเจตเจฐเจคเจจเฅค

เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจ…เจคเฉ‡ เจญเจตเจฟเฉฑเจ– เจฆเฉ€เจ†เจ‚ เจฏเฉ‹เจœเจจเจพเจตเจพเจ‚

เจ•เจฟเจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเฉ‡เจตเจพ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ‡ เจ‰เจคเจชเจพเจฆ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฌเจฃ เจ—เจˆ เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚, Postgres, ClickHouse, BigQuery, Redshift, S3, Snowflake เจจเจพเจฒ เจเจ•เฉ€เจ•เจฐเจฃ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจเจ•เฉ€เจ•เจฐเจฃ เจฌเฉˆเจš เจ…เจคเฉ‡ เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจกเฉ‡เจŸเจพ เจฒเฉ‹เจกเจฟเฉฐเจ— เจฎเฉ‹เจก เจฆเฉ‹เจตเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค API เจฆเฉเจ†เจฐเจพ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค

เจฎเฉŒเจœเฉ‚เจฆเจพ เจเจ•เฉ€เจ•เจฐเจฃ เจธเจ•เฉ€เจฎ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ:

เจธเจพเจกเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ: เจ…เจธเฉ€เจ‚ Go เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจธเฉ‡เจตเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจœเจจเจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจ•เจฐเจตเจพเจ‡เจ†

เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจกเฉŒเจ•เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ), เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเฉ€ เจนเฉˆ เจนเฉ‹เจธเจŸ เจ•เฉ€เจคเจพ เจธเฉฐเจธเจ•เจฐเจฃ, เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจตเฉ‡เจ…เจฐเจนเจพเจŠเจธ เจฆเฉ‡ เจจเจพเจฒ เจเจ•เฉ€เจ•เจฐเจฃ เจธเฉˆเจŸ เจ…เจช เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ†เจชเจฃเฉ‡ เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• CNAME เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† 'เจคเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจธเจพเจกเฉ€เจ†เจ‚ เจคเจคเจ•เจพเจฒ เจฏเฉ‹เจœเจจเจพเจตเจพเจ‚ เจตเฉˆเฉฑเจฌ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจจเจพ เจธเจฟเจฐเจซเจผ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเฉ€เจ†เจ‚ เจนเจจ, เจธเจ—เฉ‹เจ‚ เจฌเจพเจนเจฐเฉ€ เจกเฉ‡เจŸเจพ เจธเจฐเฉ‹เจคเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉ€ เจกเฉ‡เจŸเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ€ เจชเจธเฉฐเจฆ เจฆเฉ‡ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ!

โ†’ GitHub
โ†’ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ
โ†’ เจขเจฟเฉฑเจฒ

เจธเจพเจจเฉ‚เฉฐ เจ–เฉเจธเจผเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจœเฉ‡เจ•เจฐ EventNative เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ!

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจคเฉเจนเจพเจกเฉ€ เจ•เฉฐเจชเจจเฉ€ เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเจพ เจ…เฉฐเจ•เฉœเจพ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ

  • 48,0%เจ—เฉ‚เจ—เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ 12

  • 4,0%เจ–เฉฐเจก 1

  • 16,0%เจนเฉ‹เจฐ (เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹) 4

  • 32,0%เจคเฉเจนเจพเจกเฉ€ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ 8

25 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 6 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡ เจนเฉ‹เจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹