WorkListВойтиОформить подписку
AH

Database Engineer

Ahrefs · SEO / маркетинг-аналитика
Откликнуться на сайте компании ↗

О вакансии

Откуда можно работать
Офис: Япония
из текста вакансии
Английский
C1
по другим вакансиям компании
Даты
Опубликована 27.10 · видим у компании с 27.10 · проверена 02.11
дата публикации от работодателя
Почему в каталоге:Основана выходцами из Восточной Европы, Кавказа и Центральной АзииПодробнее о компании →

Описание переведено машинно с английского.

Суть роли

Вы будете создавать и поддерживать наш слой данных: ClickHouse, хранилища MooseFS и SeaweedFS под ним, а также кластеры TiDB и Elasticsearch рядом с ним. Вы пишете код, выкатываете его и остаётесь на связи, когда он встречается с продакшеном. Работа с AI-агентами для написания кода будет для вас обычной частью работы.

Что предстоит делать

  • Разрабатывать функции хранения и выполнения запросов в ClickHouse, например репликацию поверх общей файловой системы и политики хранения, которые размещают данные с учётом истории их слияний.
  • Следить за upstream-релизами ClickHouse LTS, поддерживать зелёный CI и регулярно выпускать наши собственные релизы.
  • Обеспечивать высокую доступность и надёжность MooseFS и SeaweedFS: серверы метаданных на основе Raft, чтение с фолловеров, intent log, автоматическая повторная репликация.
  • Находить проблемы производительности в продакшен-профилях и исправлять их в коде, от планов запросов до клиентов FUSE.
  • Находить первопричину повреждения данных, даже если она кроется в сжатии, аллокаторе памяти или компиляторе, и восстанавливать повреждённые данные.
  • Выкатывать релизы и миграции хранилищ на примерно 1 200 серверах в трёх регионах без простоя.
  • Эксплуатировать и настраивать TiDB, TiKV, TiCDC и Elasticsearch: планирование, лаг репликации, бэкапы, баланс дисков.
  • Проверять рискованные архитектурные решения с помощью TLA+ и fault injection, а всё повторяющееся автоматизировать с помощью watchdog-ов, балансировщиков и дашбордов.
  • Создать SRE-агента, который следит за нашими кластерами баз данных, диагностирует инциденты и предлагает исправления.

Требования

  • Вы хорошо пишете на C++, C и Rust, умеете работать на Go и уверенно чувствуете себя в кодовых базах на миллионы строк.
  • Вы глубоко знаете движки хранения баз данных: слияния или compaction, логи репликации, выполнение запросов.
  • Вы понимаете распределённый консенсус (Raft или Paxos) и знаете, что происходит при сбоях.
  • Вы знаете внутреннее устройство хранилища в Linux: page cache, fsync, FUSE, файловые системы, а также то, как на самом деле ведут себя NVMe и HDD.
  • Вы эксплуатировали базы данных или хранилища на сотнях узлов и руководили восстановлением, когда случался инцидент.
  • Вы отлаживаете с помощью gdb, perf и sanitizers.
  • Вы измеряете эффект изменения на продакшен-данных, прежде чем называть его успехом.

Будет плюсом

  • Вклад в open-source базу данных или файловую систему.
  • OCaml. Значительная часть нашего бэкенда написана на нём.
  • Puppet или аналогичный инструмент управления конфигурацией.

Условия и бенефиты

Мы даём умным людям настоящую ответственность и не занимаемся микроменеджментом. Здесь это означает несколько сотен петабайт и исходный код систем, которые их хранят. Небольшая команда, никаких лишних слоёв процессов и оборудование, чтобы выполнять работу как следует. Мы ценим честность, результаты и простые решения больше, чем сложные.

Навыки

ClickHouseMooseFSSeaweedFSTiDBElasticsearchTiKVTiCDCC++CRustGoRaftPaxosFUSEgdbperfTLA+OCamlPuppetsanitizers

Подходите ли вы под эту вакансию

Сверка вакансии с резюме доступна тем, кто вошел. Войти