Рубрика «sql» - 6

Вновь привет, уважаемые читатели ! Работая с одной из систем хранения метаданных о файлах в «Лаборатории Касперского» вспомнил, что давно хотел написать об оптимизации поиска по большому полю в базах данных. О чем далее и расскажу более подробно.

В данной публикации будет рассмотрена оптимизация поиска по полю бинарного массива и, в частности, по равномерно распределенным данным, а также сравнение между собой выявленных способов.

Оптимизация поиска по большому полю - 1

Итак, представьте: у вас есть таблица в базе данных MS SQL, в которой десятки миллиардов строк данных. И в эту таблицу вставляются и удаляются суммарно десятки и сотни тысяч строк в секунду. Назовем эту таблицу dbo.metadata.

Замечание. Для проведенного анализа ниже была создана новая база данных TEST, в которой были созданы две таблицы dbo.metadata и dbo.sha256_checksum (о второй таблице будет написано ниже) и сгенерированы синтетические данные на 1+ млрд строк в каждую. После каждого вызова запроса проводился полный сброс кэша планов для базы данных TEST (DBCC FREEPROCCACHE), чтобы план для запроса каждый раз строился заново, а не брался уже готовый.

Таблица dbo.metadata упрощенно выглядит так:

Определение таблицы dbo.metadata
Определение таблицы dbo.metadata
Читать полностью »

Продолжаем следить за новинками будущей 16-й версии. В начале декабря завершился третий коммитфест и вот его результаты.

Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09.

Читать полностью »

2003–2023: Краткая история Big Data - 1

Когда, играя в ту или иную RPG, я оказываюсь в библиотеке, то обязательно перечитываю все книги на полках, чтобы лучше вникнуть во вселенную игры. Помнит кто-нибудь «Краткую историю империи» в Morrowind?

Большие данные (Big Data) и, в частности, экосистема Hadoop появились немногим более 15 лет назад и развились к сегодняшнему дню так, как мало кто мог тогда предположить.

Ещё только появившись, опенсорсный Hadoop сразу стал популярным инструментом для хранения и управления петабайтами данных. Вокруг него сформировалась обширная и яркая экосистема с сотнями проектов, и он до сих пор используется многими крупными компаниями, даже на фоне современных облачных платформ. В текущей статье я опишу все эти 15 лет1 эволюции экосистемы Hadoop, расскажу о её росте в течение последнего десятилетия, а также о последних шагах в развитии сферы больших данных за последние годы.

Так что пристегнитесь и настройтесь на путешествие во времени вглубь 20 последних лет, поскольку наша история начинается в 2003 году в маленьком городке к югу от Сан-Франциско…

Дисклеймер: изначально я планировал оформить статью логотипами упоминаемых в ней компаний и программ, но на TDS запрещено обширное использование логотипов, поэтому я решил украсить содержание случайными изображениями и справочной информацией. Весело вспоминать, где мы в те времена находились и чем занимались.

Читать полностью »

Всем привет! Меня зовут Сергей Коньков - я работаю архитектором в компании CloudReports. Сегодня я расскажу, как мы создали продукт, который помогает пользователям работать с данными и в какой-то мере соединяет два мира аналитики: Excel и облачные хранилища данных.

Задача

BigQuery и другие аналитические хранилища в сочетании с современными BI инструментами перевернули работу с данными за последние годы. Возможность обрабатывать терабайты информации за секунды, интерактивные дашборды в DataStudio и PowerBI, сделали работу очень комфортной.

Читать полностью »

Как избежать распространенных ошибок при работе с СУБД - 1

В этом материале мы поговорим о практиках и ошибках при работе с разными СУБД, а также поделимся чек-листом от менеджера PaaS-продуктов Selectel Андрея Андронова.

Мы начнем с планов на проект и серверных комплектующих, пройдем через правила проектирования баз данных и доберемся до уровня доступности.
Читать полностью »

Сумачечая производительность LINQ в .Net7 - 1

Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Читать полностью »

Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.

Топ полезных SQL-запросов для PostgreSQL - 1

Зачем следить за состоянием PostgreSQL?

Читать полностью »

Одно я могу сказать точно: миграция данных между двумя БД - это одна из, если не самая сложная часть при смене СУБД или схемы базы данных. И что-то мне подсказывает, что Вы не фанат громоздких SQL конструкций.

Варианты основаны на использовании PostgreSQL и EF Core но сохраняют свою актуальность даже если на проекте нет ни строчки .Net кода или стоит другая СУБД.

Варианты без C# кода.

Эти варианты полезны если вам не нужно кардинально менять схему, либо вы всё ещё готовы писать SQL.

Вариант 1: Бэкап данных на источнике с восстановлением данных из бэкапа на БД получателе

Читать полностью »

Август в релизном цикле PostgreSQL месяц особенный. Еще не вышла официально 15-я версия, но уже закончился первый коммитфест 16-й версии. И мы можем посмотреть на самые интересные изменения.

Собираем сервер из исходного кода и вперед!

dconfig server_version

List of configuration parameters
   Parameter    |  Value  
----------------+---------
 server_version | 16devel

Читать полностью »

Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на GitHub-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.

Яндекс выложил в опенсорс бету фреймворка userver - 1

🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js