6P by neo 2023-10-02 | favorite | 댓글 1개
  • 오픈소스 시계열 데이터베이스인 InfluxDB가 공식적으로 Go에서 Rust로 전환
  • Rust로의 전환은 성능, 신뢰성, 생산성에서의 장점 때문
  • 새로운 버전의 InfluxDB는 Apache Arrow, Apache Parquet, Apache DataFusion을 기본 구성 요소로 사용하여 구축
  • Rust로의 전환은 단순히 언어 변경이 아니라 전체 데이터베이스 아키텍처의 변경을 포함
  • 새로운 아키텍처는 무제한 카디널리티, 열 기반 DB의 성능으로 시계열에 대한 분석 쿼리, 그리고 과거 데이터에 대한 지속성 계층으로서의 오브젝트 스토어 사용을 가능하게 함
  • Rust로의 전환은 데이터 입력, 디스크 크기, 쿼리 성능에서 중요한 개선을 가져왔음
  • InfluxDB 3.0은 Parquet를 지속성 형식으로 사용하며 인덱스를 유지하지 않아 디스크 크기가 4-6배 향상
  • Go에서 Rust로의 전환은 간단하지 않았으며 긴 개발 과정을 거쳤지만, 결과적으로는 더 낮은 지연 시간과 적은 오류/버그를 가져옴
  • Rust로 전환하는 결정은 C++ 코드를 많이 사용할 예정이었고, Rust가 이러한 의존성을 성능 저하 없이 가져올 수 있는 능력에 의해 영향을 받았음
  • Rust로의 전환은 성능과 신뢰성에서의 장점으로 기술 회사들이 자신들의 스택을 Rust로 이전하는 더 큰 추세의 일부
Hacker News 의견
  • InfluxDB가 Go에서 Rust로 전환하여 사용자들 사이에 혼란스러운 반응을 일으킴
  • 일부 사용자들은 회사가 뒤로 호환성을 위해 나쁜 결정에 매달리지 않고 변화를 추구하는 의지를 칭찬함
  • 그러나 다른 일부는 변화가 너무 빠르고 사용자들에게 롤러코스터 같은 경험을 줄 수 있다고 느낌
  • Rust로의 전환은 주로 언어 변경이 아닌 계획된 재작성의 일부였음
  • 핵심 기술의 변화는 사용자가 제품과 상호작용하는 방식에 영향을 미칠 수 있음
  • 사용자들은 재작성 과정에서의 도전과 최적화를 포함한 Rust 경험에 대한 상세한 블로그 게시물에 관심이 있음
  • 현재 인기 있는 ClickHouse와 새로운 InfluxDB의 비교에 대한 관심이 있음
  • Go로 작성된 VictoriaMetrics와 비교하여 새로운 InfluxDB 엔진의 성능에 대한 의문이 제기됨
  • 일부 사용자들은 InfluxDB 1.x와 TICK 스택의 포기에 대해 실망을 표현하며, 잠재적인 시장 기회를 제안함
  • 사용자들은 InfluxDB가 필요한 운영 규모에 대해 궁금해하며, 한 사용자는 단일 노드 AWS PostgreSQL RDS 인스턴스로 대량의 데이터를 처리하는 경험을 공유함