Английский баз данных и бэкенда

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

Бэкенд и базы данных — область, где английская терминология смешивает три пласта: математический (relation, tuple, cardinality), инженерный (index, transaction, endpoint, payload) и бытовой с метафорами (deadlock, bottleneck, single point of failure, coupling). Для русскоязычного инженера здесь две задачи. Первая — точность: idempotent, consistent, durable имеют строгие определения, и на собеседовании или в дизайн-ревью размытое употребление заметят. Вторая — чтение диагностики: стектрейсы, сообщения СУБД и ответы API приходят на английском, и умение быстро вычитать из них caused by, deadlock detected или rate limit exceeded экономит часы. Раздел собирает четыре словаря: SQL и СУБД, API и HTTP, архитектурные термины, чтение стектрейсов. Для глубокого изучения PostgreSQL есть отдельный роадмап.

Как произносится

Database /ˈdeɪtəbeɪs/ («дЕйтабейс», ударение на первый слог), query /ˈkwɪəri/ («квИэри»), schema /ˈskiːmə/, table /ˈteɪbl/, row /roʊ/ (рифмуется с go, не с how), column /ˈkɒləm/ (n немая), index /ˈɪndɛks/, множественное indexes или indices /ˈɪndɪsiːz/, transaction /trænˈzækʃən/, deadlock /ˈdɛdlɒk/, cache /kæʃ/, endpoint /ˈɛndpɔɪnt/, payload /ˈpeɪloʊd/, idempotent /ˌaɪdɛmˈpoʊtənt/ («айдемпОутент», ударение на третий слог), consistent /kənˈsɪstənt/, durable /ˈdjʊərəbl/, latency /ˈleɪtənsi/, throughput /ˈθruːpʊt/, bottleneck /ˈbɒtlnɛk/, coupling /ˈkʌplɪŋ/ («кАплинг»), cohesion /koʊˈhiːʒən/, exception /ɪkˈsɛpʃən/, stack trace /stæk treɪs/, nullable /ˈnʌləbl/, ORM по буквам, SQL «сиквел» или по буквам, NoSQL «ноу-сиквел».

Как употребляется

Одно дизайн-ревью на языке всех четырёх словарей:

The endpoint isn't idempotent, so retries double-insert rows. Wrap the insert in a transaction with a unique index on the request id; on conflict, return the existing row. That also removes the deadlock we saw under load, because the hot path stops taking two locks in different orders. The remaining bottleneck is the synchronous call to the billing service, which is tightly coupled to the checkout flow and is a single point of failure.

По-русски: эндпоинт не идемпотентен, повторы вставляют строки дважды. Оберните вставку в транзакцию с уникальным индексом по id запроса, при конфликте возвращайте существующую строку. Это же убирает deadlock под нагрузкой, потому что горячий путь перестаёт брать две блокировки в разном порядке. Оставшееся узкое место — синхронный вызов биллинга, жёстко связанный с checkout и являющийся единой точкой отказа.

Ловушки

Первая ловушка — row произносить как «роу» с русским «оу» или как how: рифмуется с go. Вторая — column с произносимой n. Третья — query как «квери». Четвёртая — idempotent с ударением на «дем». Пятая — consistent в двух смыслах: согласованность данных (ACID) и постоянство поведения; на собеседовании уточняйте, о чём речь. Шестая — transaction переводить только как «транзакция»: в контексте оплаты это «платёж», и фраза failed transactions может означать сбойные платежи, а не откатившиеся транзакции БД. Седьмая — table и board: таблица в БД — table, таблица в документе тоже table, а «табличка» в смысле Excel — spreadsheet.

Связанные понятия

Полезные ресурсы