Рассмотрим достаточно распространенную ситуацию. Имеется огромная таблица примерно следующей структуры:
Пользователь
Домашний NAS сервер
Домашний NAS сервер на 10 жестких дисков для личного использования на базе Linux
Когда имеется большой объем файлов, который необходимо хранить на одном домашнем сервере с низким энергопотреблением, малыми габаритами, невысоким тепловыделением и бесперебойным питанием, а также с большим количеством жестких дисков...
Распараллеленное соединение вложенных циклов (Nested Loops)
По материалам статьи из блога Craig Freedman: Parallel Nested Loops Join
SQL Server распараллеливает соединение вложенных циклов (Nested Loops Join), распределяя в случайном порядке строки внешней таблицы по потокам вложенных циклов. В данном случае, речь идёт о строках, которые поступают первыми, и мы их видим вверху, на графическом плане запроса. Например, если на входе соединения вложенных циклов имеется два потока, каждый поток получит приблизительно половину строк. Потоки проходятся по строкам внутренней таблицы соединения (то есть, по строкам, поданным во вторую очередь, мы их видим ниже в плане запроса), точно по такому же алгоритму, как это было бы реализовано в сценарии с последовательной обработкой строк. Таким образом, для каждой обрабатываемой потоком строки внешней таблицы, поток обеспечивает соединение своей внутренней таблицы, используя эту строку в качестве источника коррелированных параметров. Это позволяет потокам работать независимо друг от друга. При этом для внутренней таблицы соединения вложенных циклов SQL Server не добавляет операторы параллелизма и работу с ней не распараллеливает.
Перевод Ирины Наумовой
Запись Extended Events в таблицу
Опубликовано 23 февраля 2022 года
Автор статьи Gianluca Sartori
В этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии расширенных событиях. В документации рекомендуется использовать два возможных метода для извлечения информации из сеанса:
Стратегия управления глубиной очереди ввода-вывода для достижения пиковой производительности
По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy)
Статья была опубликована рание на SQL.RU Публикуется повторно ввиду недоступности сайта.
В большинстве случаев для SQL Server применяются незамысловатые модели управления глубиной очередей ввода-вывода. Ниже представлены основанные на практике рекомендации по оптимизации очереди ввода-вывода, при использовании более развитых моделей дисковых подсистем, SSD - дисков и высокопроизводительных систем хранения.
Автор, наконец, нашёл время для тестирования массива твердотельных дисков (SSD), собирая в массивы от нескольких до 20 устройств, управляемых двумя контроллерами с 4x4 портами Serial Attached SCSI (SAS). Во время предварительных тестов, когда глубина очереди обращения к дискам была очень высокой, он наблюдал большую задержку обращения к дискам, которая во время проведения ряда операций для чтения превышала 100ms и достигала более 400ms для операций записи.
Таким образом, возникают следующие вопросы:
Операционные усилители. Часть 1: Введение. Модель идеального операционного усилителя
Даже после появления цифровых вычислительных машин вычисления и обработка сигналов зачастую производились средствами аналоговой электроники. Основу этих устройств составляли операционные усилители.
Операционные усилители как класс появились в качестве унифицированных элементов аналоговых вычислительных машин (АВМ) после Второй Мировой войны. На них собирались звенья, производящие математические операции: сложение, вычитание, интегрирование, дифференцирование и т.п. Слово «операционный» в названии появилось в силу этого факта. В качестве входного сигнала использовалось напряжение.
Вы еще не программируете микроконтроллеры? Тогда мы идем к вам!
В этой статье я хочу рассказать о том, как однажды решил начать программировать микроконтроллеры, что для этого понадобилось и что в итоге получилось.
Тема микроконтроллеров меня заинтересовала очень давно, году этак в 2001. Но тогда достать программатор по месту жительства оказалось проблематично, а о покупке через Интернет и речи не было. Пришлось отложить это дело до лучших времен. И вот, в один прекрасный день я обнаружил, что
Настройка PostgreSQL под Linux
Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать высококвалифицированных администраторов, которые будут администрировать все эти open-source системы.
На наших бизнес-приложениях, использующих в качестве СУБД PostgreSQL, работают 70% крупнейших розничных сетей в Беларуси. Во всех из них одновременно работают от 500 до 1500 пользователей. В приложениях реализованы практически все основные процессы розничных сетей (демо, чтобы оценить сложность). Размер баз данных на данный момент составляет от 2 до 4ТБ. И все они работают практически со стандартными настройками PostgreSQL на одиночных серверах без какой-либо кластеризации. При этом даже в самых загруженных серверах есть еще значительный резерв по ресурсам для дальнейшего увеличения нагрузки без потребности в кластеризации.
Да, конечно же, многое зависит от запросов к СУБД, и несколькими кривыми запросами можно положить весь сервер. Однако, точно также можно положить и Oracle, и MSSQL. Да, платформа lsFusion, на которой написаны наши приложения, делает много различных оптимизаций запросов конкретно под PostgreSQL. Но вручную SQL-запросы можно оптимизировать еще лучше.
В этой статье я полностью опишу все настройки PostgreSQL (и немножко ОС), которые мы делаем на наших системах. Кроме того, мы специально стараемся не изменять те настройки, которые не дают видимого изменения в производительности, чтобы потом не гадать, почему в одном окружении есть проблема, а в другом - нет.
Если мошенники украли деньги с банковской карты — не спешите в полицию
Мне давно надоели эти банки, но инфопространство постоянно забито историями, как мошенники в очередной раз украли деньги, причём даже без социальной инженерии.
Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.
В статье “Банки не хотят внедрять многофакторную авторизацию и покончить с мошенничеством” есть простые рецепты, которые бы исключили случаи мошенничества хотя бы для тех, кто не разговаривает с мошенниками и не сообщает им коды. Народ хочет аппаратные токены, а банки не дают.
К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.
Банки и корпорации разрабатывают свои договоры и внутренние инструкции таким образом, чтобы не иметь никакой ответственности перед клиентом, а клиента ободрать до нитки за действия третьих лиц, даже если закон прямо говорит, что банк обязан вернуть клиенту деньги.
Фильтрация шума сигнала
Фильтрация шума очень важная вещ, при работе с различными датчиками. Сигнал, получаемый от них всегда приходит с шумами, и важно уметь их грамотно отфильтровать. Качественная фильтрация шума способна уменьшить погрешность и увеличить качество измерения датчика. Этим мы сегодня и займемся.
5 писателей-фантастов, работавших программистами
Почти все писатели, приходя в литературу, уже имеют за плечами карьеру в той или иной области. Среди авторов встречаются представители самых разных профессий — журналисты, ученые самых разных специализаций, врачи, преподаватели, инженеры, бизнесмены… Список можно продолжать еще долго. Конечно, есть в писательском цехе и выходцы из IT-сферы, и вот несколько примеров программистов, которые сумели прославиться на ниве писательство, а конкретнее — в сфере научной фантастики.
Трансформатор тока для детектирования включений нагрузки в сети 220В
Недавно у меня возникла необходимость определять на микроконтроллере моменты включения/выключения погружного насоса с поплавковым выключателем, запитанного от сети 220В, т.е. по сути определять наличие потребляемого тока в цепи подключения насоса. Когда речь идет об измерениях в сети 220В, в первую очередь стоит подумать о том, как обеспечить качественную гальваническую развязку, т.е. отсутствие электрического контакта между высоковольтными и низковольтными цепями.
Пожалуй самым простым и быстрым решением было бы взять готовый модуль на эффекте Холла (например на базе микросхемы ACS712). Однако мне такой вариант не подошёл по двум причинам. Во-первых, он требует питания 5В, а у меня было всё запитано от 3.3В. Во-вторых, он включается в разрыв измеряемой цепи, а мне было очень важно не нарушить работу насоса даже в случае ошибки проектирования или выхода из строя датчика.
Как ни странно, нагуглить готовое решение без специальных модулей для такой казалось бы простой задачи не удалось, поэтому здесь хочу поделиться опытом расчета и изготовления простейших измерительных токовых трансформаторов.
Фриланс-разработка электроники. Что, Как и Зачем?
▍Как все начиналось
Начну немного издалека, чтобы было понятно с чего все изначально началось.
Электронику я люблю с детства, родители военные и они же инженеры привили любовь не только к морзянке, но и к электронике. За что им отдельное спасибо.
После окончания ВУЗа, работаю по сей день ведущим инженером на одной из атомных станций. Работа веселая и ответственная, но дома надо чем-то занять вечера, не пиво же пить и лежать у телевизора. Для поддержания на должном уровне своей квалификации освоил Ардуино, Attiny, STM, ESP32. Вспомнил давно забытую Java и C++. Освоил заново Easyeda, Altium, Eagle. Свободно работаю во многих программах CAD моделирования. Теоретически я подготовлен хорошо, но нужна была практика в электронике и желательно по очень высоким стандартам.
Кунг-фу стиля Linux: мониторинг дисковой подсистемы
top
, или — что немного лучше — командой htop
. А как быть, если надо получить данные о состоянии дисковой подсистемы? Решить эту задачу помогут специализированные инструменты, некоторые из которых распространены далеко не так широко, как top
.Технологии магнитной записи HDD: просто о сложном
Первый в мире жесткий диск, IBM RAMAC 305, увидевший свет в 1956 году, вмещал лишь 5 МБ данных, а весил при этом 970 кг и по габаритам был сопоставим с промышленным рефрижератором. Современные корпоративные флагманы способны похвастаться емкостью уже в 20 ТБ. Только представьте себе: 64 года назад, для того чтобы записать такое количество информации, потребовалось бы свыше 4 миллионов RAMAC 305, а размеры ЦОДа, необходимого для их размещения, превысили бы 9 квадратных километров, тогда как сегодня для этого будет достаточно маленькой коробочки весом около 700 грамм! Во многом добиться столь невероятного повышения плотности хранения удалось благодаря совершенствованию методов магнитной записи.
Защита Linux-сервера. Что сделать в первую очередь
Habib M’henni / Wikimedia Commons, CC BY-SA
В наше время поднять сервер на хостинге — дело пары минут и нескольких щелчков мыши. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета как невинная девушка на рокерской дискотеке. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Массивы в C++
Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь.
Эта статья посвящена массивам. Массивы можно отнести к наиболее древним слоям C++, они пришли из первых версий C. Тем не менее, массивы вошли в объектно-ориентированную систему типов C++, хотя и с определенными оговорками. Программисту важно знать об этих особенностях, чтобы избежать потенциальных ошибок. В статье также рассмотрено другое наследие C – тривиальные типы и неинициализированные переменные. Часть нововведений C++11, С++14, С++17 затрагивают работу с массивами, все эти новые возможности также подробно описаны. Итак, попробуем рассказать о массивах все.
Сетевой аудио-плеер: HiFi недорого
Меня уже давно мучила идея использовать что-то из продукции Hardkernel для создания сетевого аудио-плеера. Типа такого, только подешевле. Останавливало отсутствие вменяемого аудио-интерфейса, а связываться с USB-DAC не хотелось. И вот на Geektimes появилась новость выпуске нового одноплатного компьютера с интерфейсом I2S и платы с аудиофильским DAC для него. Мечта начала сбываться!
Эксперименты с небольшой многозадачностью в микроконтроллере
В одной из предыдущих заметок автор пытался рассуждать о том, что при программировании микроконтроллера простой переключатель задач будет полезен в ситуациях, когда использование операционной системы реального времени — это слишком много, а всеобъемлющая петля (super loop) для всех требуемых действий — это слишком мало (Сказал, прямо как граф де Ла Фер). Точнее говоря, не слишком мало, а слишком запутано.
В последующей заметке планировалось упорядочить доступ к общим для нескольких задач ресурсам с помощью очередей на основе кольцевых буферов (FIFO) и специально отведенной для этого отдельной задачи. Разбросав по разным задачам те действия, которые не связаны друг с другом, мы вправе ожидать более обозримый код. А если при этом мы получим некоторое удобство и простоту, то почему бы и не попробовать?
Очевидно, что микроконтроллер не предназначен для решения любой мыслимой задачи пользователя. Тогда, возможно, такого переключателя задач окажется вполне достаточно во многих ситуациях. Короче, небольшой эксперимент вряд ли повредит. Поэтому, чтобы не быть голословным, ваш покорный слуга решил кое-что написать и подвергнуть тестированию свои каракули.
Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I
Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»
Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.
Информация
- В рейтинге
- Не участвует
- Дата рождения
- Зарегистрирован
- Активность