Skip to content

larek-tech/storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ΠŸΠ°ΠΊΠ΅Ρ‚ Storage для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Larek

ΠžΠ±Π·ΠΎΡ€

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ прСдоставляСт ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ систСмами хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Go-прилоТСниях. Π’ настоящСС врСмя ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL с Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями, ΠΊΠ°ΠΊ интСграция с OpenTelemetry ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями. Π’ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… вСрсиях Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MongoDB, ClickHouse ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм хранСния.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°

ΠŸΠ°ΠΊΠ΅Ρ‚ storage ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…:

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

PostgreSQL

ΠœΠΎΠ΄ΡƒΠ»ΡŒ postgres прСдоставляСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для PostgreSQL со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ возмоТностями:

  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ конфигурация ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями Ρ‡Π΅Ρ€Π΅Π· go-transaction-manager
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с трассировкой OpenTelemetry
  • Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для распространСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ смотритС Π² README для PostgreSQL.

ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ

MongoDB (Π‘ΠΊΠΎΡ€ΠΎ)

РСализация для MongoDB Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ:

  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с OpenTelemetry
  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΠΈ запросов для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ MongoDB

ClickHouse (Π‘ΠΊΠΎΡ€ΠΎ)

РСализация для ClickHouse Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ:

  • Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ аналитичСскиС запросы
  • ΠšΠΎΠ»ΠΎΠ½ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ вставки
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с OpenTelemetry

Ѐилософия использования

ВсС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ:

  1. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс: КаТдая рСализация прСдоставляСт согласованный интСрфСйс для ΠΎΠ±Ρ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
  2. ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго: ВстроСнная трассировка ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‡Π΅Ρ€Π΅Π· OpenTelemetry
  3. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ: Π“Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями
  4. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ: ЛСгкая настройка Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΈΠ»ΠΈ структуры ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Установка

# РСализация для PostgreSQL
go get github.com/larek-tech/storage/postgres

# Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
# go get github.com/larek-tech/storage/mongodb
# go get github.com/larek-tech/storage/clickhouse

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published