Pull to refresh
54
0
Fiery_Fenix @Fiery_Fenix

User

Send message

Масштабирование базы данных через шардирование и партиционирование

Reading time 11 min
Views 153K


Масштабирование базы данных через шардирование и партиционирование


Денис Иванов (2ГИС)


Всем привет! Меня зовут Денис Иванов, и я расскажу о масштабировании баз данных через шардирование и партиционирование. После этого доклада у всех должно появиться желание что-то попартицировать, пошардировать, вы поймете, что это очень просто, оно никак жрать не просит, работает, и все замечательно.

Немного расскажу о себе — я работаю в команде WebAPI в компании 2GIS, мы предоставляем API для организаций, у нас очень много разных данных, 8 стран, в которых мы работаем, 250 крупных городов, 50 тыс. населенных пунктов. У нас достаточно большая нагрузка — 25 млн. активных пользователей в месяц, и в среднем нагрузка около 2000 RPS идет на API. Все это располагается в трех датацентрах.

Перейдем к проблемам, которые мы с вами сегодня будем решать. Одна из проблем — это большое количество данных. Когда вы разрабатываете тот или иной проект, у вас в любой момент времени может случиться так, что данных становится очень много. Если бизнес работает, он приносит деньги. Соответственно, данных больше, денег больше, и с этими данными что-то нужно делать, потому что эти запросы очень долго начинают выполняться, и у нас сервер начинает не вывозить. Одно из решений, что с этими данными делать — это масштабирование базы данных.
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Comments 17

30 легковесных JavaScript плагинов и библиотек

Reading time 5 min
Views 107K
В это обзоре мы познакомимся с 30 бесплатными JavaScript плагинами и библиотеками, которые сфокусированы на определенных задачах. Это простые, полезные и легкие решения, которые помогут сделать процесс веб-дизайна и разработки гораздо проще и быстрее.

Как и следовало ожидать ниже вы найдете много плагинов для создания ползунков, галерей с изображениями, адаптивных меню, а также много других полезных плагинов и библиотек. Также в списке представлены плагины, которые предлагают действительно уникальные функциональные возможности. Давайте взглянем на список!
Читать дальше →
Total votes 66: ↑53 and ↓13 +40
Comments 16

N+5 полезных книг

Reading time 5 min
Views 58K


Привет! Это пятый с 2010 года список полезных книг. Набралась всего дюжина за два года. Смотрите, что можно скачать в дорогу или просто почитать, когда будет время, и делитесь, пожалуйста, в комментариях своими (я буду поднимать их в пост). В этой подборке довольно много социнжиниринга, точнее, тем около него. Поехали.

Конструкции, или почему не ломаются вещи, Дж. Гордон
Прекрасная, хоть и очень длинная штука, которая рассказывает про сопромат простыми словами и почти для детей. Но на уровне жёсткого хардкора. По своей полезности для осознания физики вокруг может сравниться с не менее прекрасной современной «Квантовая вселенная. Как устроено то, что мы не можем увидеть» Брайана Кокса и Джеффа Форшоу. Рекомендую обе. Будет, что почитать в дороге, если вдруг почувствуете, что играть на планшете надоело. И о чём подумать, когда выяснится, что вся та фигня, которую вам давали на уроках химии, физики и прочего в школе и университете вдруг начинает выстраиваться в стройную теорию.

Evil by Design, Крис Ноддер
Один из лучших подходов к проектированию чего-то хорошего — это спроектировать сначала самое ужасное из возможного. Пользователь обычно не скажет, как сделать ему хорошо, но точно знает, как бывает плохо. Например, юзер не говорит «я хочу, когда нажимаю на ссылку напоминания пароля, там в поле уже была введена почта», зато вполне способен сказать: «слушай, меня дико бесит, когда логинишься, тебе показывают новую страницу про то, что пароль не подошёл, и, чтобы его восстановить, надо ещё один долбанный раз вводить почту». Вся книга Криса состоит из таких «тёмных» шаблонов, когда какие-то гады намеренно вводят вас в заблуждение. Он там очень переживает за этику, поэтому вступления лучше пропустить. Единственная в этом обзоре книга на английском, но довольно простом.
Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Comments 34

Rclone: rsync для облаков

Reading time 5 min
Views 70K
PR-2358

В предыдущих публикациях мы уже не раз рассказывали о полезных утилитах для работы с нашим облачным хранилищем. Сегодня мы поговорим ещё об одном интересном, простом в обращении и — не побоимся этого слова — уникальном инструменте. Знакомьтесь: rclone. Разработчики описывают его краткой и ёмкой фразой «rsync для облачных хранилищ».

Основная функция rclone — это синхронизация данных в хранилище и на локальной машине. Утилита несомненна окажется полезной для широкого круга пользователей облачного хранилища. Её можно использовать и для резервного копирования, и в работе со статическими сайтами…

Есть у rclone и опции, которых нет ни у одного другого инструмента аналогичного плана. Подробнее обо всём этом мы расскажем ниже.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 14

ONLYOFFICE: открытый как никогда

Reading time 3 min
Views 22K
Друзья, будем краткими: в честь нашего шестого дня рождения мы выпустили в open source новейшую версию ONLYOFFICE. С этого дня вы сможете найти на GitHub всё, о чем нас просили: новую версию редакторов с быстрым совместным редактирование как в Google Docs и последнюю версию сервера для совместной работы (Community server).

Подробности релиза, что, где и под какой лицензией читайте далее.


Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Comments 38

Smart плинтус 1.0

Reading time 3 min
Views 75K


Озаботила меня одна проблема – темный коридор по пути из спальни на кухню. Ну, знаете, люблю ночью на кухню ходить, но в потемках некомфортно, а т.к. коридор относительно ширины достаточно длинный, то велика вероятность отклонения от маршрута при ориентировании по встроенным в голову гироскопам. Ошибка накапливается, да еще ноги разной длины, ходил с вытянутыми руками и попадал в дверной проем не с первого раза.
Да, конечно есть всякие ночники, датчики движения, умные дома, но у меня есть лучше, у меня есть пластиковый плинтус с кабельным каналом.
Поэтому возникла идея запихать туда светодиодную ленту и посмотреть, как она там себя будет чувствовать и получилось, знаете ли, довольно круто, такая подсветочка, как в космических кораблях.
Читать дальше →
Total votes 107: ↑104 and ↓3 +101
Comments 177

На пути к созданию собственного движка интернет магазина

Reading time 4 min
Views 17K
Моя статья не открывает каких-либо технологических новшеств и скорее преследует цель узнать мнения Хабравчан. Возможно ваши соображения помогут остановиться и выбрать правильный путь.

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

Выбор тогда пал на два движка ImageCMS и HostCMS. Сейчас пройден уже достаточно немалый путь, но чем дальше я иду, тем больше сомневаюсь, правильный ли выбираю путь.
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Comments 72

Web-приложения в режиме offline. ServiceWorker и CacheStorage

Reading time 6 min
Views 40K

О чём речь?


Всё чаще возникает задача научить frontend-приложение работать в автономном режиме. Это значит придать web-приложению свойство mobile- или desktop-программы — функционировать в отсутствии связи с Интернет, а также в случае отказа сервера.

Цель — оградить пользователя от проблем соединения на его устройстве. Как было бы обидно не сохранить созданные в google docs таблицы из-за потери wi-fi в ближайшем фастфуде!

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

Решение задачи заключается в следующем:
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 2

Полезные трюки PostgreSQL

Reading time 3 min
Views 191K


В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Comments 28

Универсальный скрипт переключения 2-х каналов интернета Mikrotik

Reading time 8 min
Views 65K
Около 2,5 лет назад писал статью на тему автоматического переключения канала Интернет на резервный. Скрипт, конечно, и по сей день работает «на отлично», но его внешний вид и некоторые нюансы…

Итак, встала задача улучшить скрипт, максимально устранив побочные эффекты. Что ж, приступим.

image
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 34

Расшифровка обновлений одного популярного сотового модема: метод Дмитрия Склярова

Reading time 7 min
Views 20K


Иногда хочется заглянуть в код прошивки какого-нибудь устройства. Но кроме самой прошивки, которая зашифрована, ничего нет. И как реверсеру с этим жить? В статье рассмотрена реальная ситуация, когда при помощи базовых знаний в computer science и логики удалось решить почти бесперспективную задачу.

Название производителя модема убрано, и некоторые имена файлов специально изменены, так как хочется заострить внимание на самой задаче — и на интересном подходе к ее решению. Кстати, в последних моделях модемов этого производителя такой метод уже не работает. Но не исключено, что он может быть использован и в других случаях.
Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 14

Тестируем вёрстку правильно

Reading time 8 min
Views 103K
Makeup — инструмент для комфортного ручного регрессионного тестирования вёрстки

Что не так с тестированием вёрстки


Мы часто им пренебрегаем. Написание функциональных, интеграционных и юнит-тестов давно стало повсеместной практикой. Вёрстке мы обычно уделяем гораздо меньше времени.

Проблема тестирования вёрстки в том, что только живой человек может сказать, хорошо свёрстан блок на странице или нет. Поэтому чаще всего мы тестируем HTML и CSS вручную: проверяем, как будет вести себя блок, если в нем будет слишком много (или слишком мало) текста или дочерних элементов; смотрим, чтобы все возможные варианты отображения блока смотрелись корректно; помним о том, как блоки должны адаптироваться к разным устройствам и разрешениям экрана.
Можем ли мы перестать делать это руками?
Total votes 35: ↑33 and ↓2 +31
Comments 31

Фреймворк для создания ботов для Telegram

Reading time 6 min
Views 62K
Так уж вышло, что род моей деятельности тесно переплетен с созданием ботов для Telegram. Писать я их начал сразу после появления Telegram Bot API, тогда никаких инструментов для этого не было. Пришлось самому писать библиотеку для работы с API, о чем я частично уже рассказывал в своей предыдущей статье. С течением времени библиотека несколько раз была переписана и в итоге обросла разными фишками. В статье я постараюсь рассказать о том, как с ее помощью писать ботов.



Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 11

DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Reading time 11 min
Views 125K


Внимание! В рецепте с отбеливателем обнаружилась опасность коррозии металла! Не рекомендуется в стандартном применении!

Обзор экспериментов год спустя:
DIY порошок для посудомойки: как не растворить посуду и не повторить моих ошибок. Год экспериментов

В прошлой публикации мы создавали дешевый порошок для посудомойки из желудей и спичек кальцинированной соды и стирального порошка. В этой я расскажу о том, как можно его улучшить с помощью кислородного отбеливателя и где можно купить компоненты для более продвинутой версии. Будем делать упор на эффективности мойки, но даже при этом цена не выйдет за 100 рублей/килограмм. А еще будет рецепт ополаскивателя с себестоимостью в районе 1 рубля за литр. Как справедливо заметил amarao, занятие не для всех и многим проще использовать готовые таблетки. Но в подобных экспериментах с бытовой химией есть что-то от детства, первых опытов по смешиванию соды с уксусом и газировки с мятными конфетами. Так что ощутимая экономия здесь все-таки вторична. Будем развлекаться) Если кому-то лень читать весь текст — в конце поста будут подробные рецепты с рекомендациями.
Читать дальше →
Total votes 123: ↑123 and ↓0 +123
Comments 351

Укрощаем UEFI SecureBoot

Reading time 11 min
Views 167K
Данные обещания надо выполнять, тем более, если они сделаны сначала в заключительной части опуса о безопасности UEFI, а потом повторены со сцены ZeroNights 2015, поэтому сегодня поговорим о том, как заставить UEFI SecureBoot работать не на благо Microsoft, как это чаще всего настроено по умолчанию, а на благо нас с вами.
Если вам интересно, как сгенерировать свои собственные ключи для SecureBoot, как установить их вместо стандартных (или вместе с ними), как подписать ваш любимый EFI-загрузчик, как запретить загрузку неподписанного или подписанного чужими ключами кода, как выглядит интерфейс для настройки SecureBoot у AMI, Insyde и Phoenix и почему это, по большому счету, совершенно не важно — добро пожаловать под кат, но опасайтесь большого количества картинок и длинных консольных команд.
Войти в клетку
Total votes 45: ↑45 and ↓0 +45
Comments 50

Исследование переменных Mikrotik. Скрипт обновления Dynamic DNS записей FreeDNS.afraid.org

Reading time 10 min
Views 31K
Я использую Mikrotik в качестве домашнего и офисного маршрутизатора, и в целом система очень нравится. RouterOS имеет широкие возможности, которые покрывают 90% моих задач, если чего-то недостает, то можно «дописать» функционал с помощью внутренних скриптов. Но когда начинаешь писать более-менее вменяемый скрипт или пытаешься понять и применить чужой рецепт, становятся заметны очертания подводной части айсберга, всплывают странные особенности языка.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 3

Организация рабочего места с позиции здоровья спины (и не только)

Reading time 4 min
Views 58K
После моей предыдущей статьи по поводу корректоров осанки в комментариях попросили изложить свой взгляд на оборудование рабочего места за компьютером с позиции здоровья позвоночника и минимизации влияния позы на возникновение болей в различных отделах спины.
Прежде чем самому взяться за систематизацию знаний по этому вопросу я решил посмотреть, что в интернете по этому вопросу написано. И с удивлением понял, что до конца толковых советов почти нигде нет. Есть масса статей, в них очень часто сказаны верные вещи, но вот чтоб прям все и в одном месте – с ходу не нашел. Дабы сэкономить время решил сам написать.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 51

Бризер TION O2: опыт эксплуатации

Reading time 14 min
Views 108K
▌Intro
История банальная — моя улочка, некогда тихого и находящегося на окраине парка района, внезапно стала очень оживленной. Там, где раньше можно было смело играть в футбол на проезжей части, нынче каждые несколько секунд проезжает машина, а в час пик так может и пробка образоваться на всю улицу длиной. А где машины, там пыль и шум. В общем, открыть окна в моей рабочей комнате и спальне оказалось решительно нельзя — шумно. А я шум не люблю. Жена так вообще немедленно закрывает окно, не давая даже проветрить. Особенно ситуация усугубилась с установкой пластиковых окон. Если старые деревянные были кривые и косые, что в щели палец сунуть можно, то новые герметичные как в холодильнике.

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

Возникла мысль о организации какой-нибудь более продвинутой вентиляции. Правда пока мысль возникла, пока решил что НАДО, пока собрался и поискал имеющиеся решения… Такие вещи, от идеи до реализации, у меня идут годы…



Но на счастье, как у меня это бывает, если Магомед не идет к горе, то гора сама к нему устремляется вприпрыжку. Постучались мне в почту представители компании TION и сделали предложение, от которого я не смог отказаться — они мне ставят свою вентиляционную систему, а я пишу все, что я о ней думаю. Это они удачно зашли.
Читать дальше →
Total votes 55: ↑54 and ↓1 +53
Comments 124

Памятка евангелиста PostgreSQL: критикуем MySQL грамотно

Reading time 12 min
Views 61K
image

Привет, Хабр! Эта публикация — попытка развеять некоторые популярные мифы и легенды о MySQL. Я не ошибся с хабом, так как поводом для написания послужила публикация varanio Возможности PostgreSQL, которых нет в MySQL, и наоборот отсюда же. Сама публикация в части критики MySQL хоть и неидеальна, но вполне корректна, а вот комментарии к ней наводят на грустные размышления.

Вообще говоря, я собирался написать публикацию о возможностях MySQL, которые не реализованы или реализованы в PostgreSQL хуже. Но для того, чтобы не мешать много тем в одну публикацию, и учитывая довольно нелёгкую работу по сравнению того, что я знаю очень хорошо (MySQL) с тем, что я знаю очень плохо (PostgreSQL), такую публикацию я решил отложить на потом и для начала ответить сразу на многие комментарии из публикации varanio.
Читать дальше →
Total votes 194: ↑183 and ↓11 +172
Comments 178

Новый GUI для Postgresql

Reading time 3 min
Views 72K
Хочу поделиться новым продуктом со всеми пользователями замечательной базы данных Postgresql. Встречайте — SQL Tabs — графическая SQL консоль для Postgresql. Это новый GUI клиент, в котором можно просматривать объекты базы данных, писать SQL запросы и строить графики.

На сегодняшний день можно скачать версии для OSX и Ubuntu. Пользователи других linux-дистрибутивов могут запустить приложение из исходников. К сожалению, версии для Windows пока нет. Хочется надеяться, что приложение понравится сообществу, и найдутся разработчики, способные помочь в выпуске пакетов под разные платформы: rpm, debian, windows.

Немного информации для разработчиков: SQL Tabs написано на стэке javascript, electron, react
 и использует native libpq драйвер для работы с базой. Выпускается под лицензий GPL3.

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


Читать дальше →
Total votes 40: ↑36 and ↓4 +32
Comments 79

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity