Как стать автором
Обновить
39
0

Пользователь

Отправить сообщение

Вокруг Света за 4 Секунды на Columnstore (Часть 1)

Время на прочтение18 мин
Количество просмотров8.5K
В этой статье я собираюсь рассмотреть вопрос повышения скорости отчетов. Под отчетом я понимаю любой запрос в базу данных, который использует агрегирующие функции. Также, я собираюсь затронуть вопросы, касающиеся затрачиваемых ресурсов на производство и поддержку отчетов, как людские, так и машинные.

В примерах я буду использовать набор данных, содержащий 52 608 000 записей.

На примере не сложных аналитических запасов я продемонстрирую, что даже слабый компьютер можно превратить в неплохое средство анализа «приличного» объема данных без особых усилий.

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

Если читатель без труда может расшифровать аббревиатуры OLTP и OLAP, возможно есть смысл перейти сразу к разделу Columnstore

Два подхода к работе с данными


Здесь я буду краток, т.к. информации по этой теме в интернете более, чем достаточно.

Итак, на самом верхнем уровне существует всего два подхода к работе с данными: OLTP и OLAP.

OLTP — можно перевести, как моментальная обработка транзакций. На самом деле, речь идёт об онлайн обработке коротких транзакций, работающих с небольшим объёмом данных. Например, запись, обновление или удаление заказа. В подавляющем большинстве случаев заказ — это крайне малый объём данных, при обработке которого можно не бояться длительных блокировок, накладываемых современными РСУБД.

OLAP — можно перевести как аналитическая обработка большого количества транзакций за один раз. Любой отчет использует именно этот подход, ведь в подавляющем большинстве случаев отчет выдаёт сводные, агрегированные цифры по определённым разрезам.
Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии6

Как развивается умение общаться (с самого-самого начала) и что с ним делают игры на сторителлинг

Время на прочтение37 мин
Количество просмотров24K
Одна из самых распространенных тем запросов, с которыми приходят к детским специалистам, это речь. Самая очевидная проблема — это когда ребенок не говорит. Вот ему год, а он молчит. Вот ему уже три, а он все равно молчит. А вот уже пять… Тут понятно, что что-то пошло не так. Есть менее очевидные проблемы, которые на самом деле тоже про речь. Например, ребенок плохо учится. Почему плохо учится? Оказывается, когда ему учительница задает вопрос, он в ответ двух слов связать не может. Или у ребенка почему-то нет друзей. И оказывается, что он просто не представляет, как со сверстниками вообще разговаривать. Ну и не разговаривает. И так далее.

Самый нужный человек здесь, как понятно, логопед (и очень важно дойти до логопеда, если есть подозрение, что развитие речи пошло как-то не так). Игротерапевты с этим тоже работают, потому что умение разговаривать и договариваться развивается вместе с развитием игры. Чтобы понять, как это происходит, начнем с самого начала.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии51

Maltego ближе к телу. Часть 2

Время на прочтение4 мин
Количество просмотров21K
Здравствуйте, дорогие друзья. Вот, наконец-то, и добрался я до написания второй статьи, посвященной Maltego. Кто не читал первую – обязательно прочитайте вот тут. В ней я писал, что же такое Maltego в целом, а в этой статье я расскажу, с чем его едят. Картинок будет очень много.

Данная статья не совсем туториал по работе. Я, конечно, постараюсь показать максимум неочевидных вещей, с которыми столкнулся в процессе работы по первости, но лучший способ познать какой-либо фреймворк – это просто начать им пользоваться и нарабатывать опыт.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Книги по психологической самопомощи: есть ли в них хоть какой-то смысл, и, если да, какие выбрать?

Время на прочтение18 мин
Количество просмотров75K
Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостоятельно может выглядеть привлекательно. Этим пользуются авторы и издатели, предлагающие разного рода «книги по самопомощи».


Что под катом: обзор литературы, посвящённой исследованию [не]эффективности самостоятельной работы над психологическими проблемами по книгам (спойлер: эффективна, но с некоторыми оговорками), несколько списков книг, которые (опять же, с оговорками) можно для этих целей использовать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии44

Визуализация больших графов для самых маленьких

Время на прочтение12 мин
Количество просмотров57K


Что делать, если вам нужно нарисовать граф, но попавшиеся под руку инструменты рисуют какой-то комок волос или вовсе пожирают всю оперативную память и вешают систему? За последние пару лет работы с большими графами (сотни миллионов вершин и рёбер) я испробовал много инструментов и подходов, и почти не находил достойных обзоров. Поэтому теперь пишу такой обзор сам.
Читать дальше →
Всего голосов 95: ↑94 и ↓1+93
Комментарии30

Ускоряем распределенную обработку больших графов с помощью вероятностных структур данных и не только

Время на прочтение8 мин
Количество просмотров3.8K


Одним из самых ценных ресурсов любой социальной сети является "граф дружб" — именно по связям в этом графе распространяется информация, к пользователям поступает интересный контент, а к авторам контента конструктивный фидбэк. При этом граф является еще и важным источником информации, позволяющим лучше понять пользователя и непрерывно совершенствовать сервис. Однако в тех случаях когда граф разрастается, технически извлекать из него информацию становится все сложнее и сложнее. В данной статье мы поговорим о некоторых трюках, используемых для обработки больших графов в OK.ru.

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Изучаем интернет-маркетинг самостоятельно: более 50 бесплатных курсов

Время на прочтение2 мин
Количество просмотров111K
Привет, читатель! Меня зовут Артём Сайгин, я делаю «Growth Lab», проект, в котором рассказываю о маркетинге и росте IT-продуктов.

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

Добавляйте в закладки, чтобы не потерять.

image

Если я не добавил стоящий курс, напишите, пожалуйста, в комментарии- добавлю.

Приступим!
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии5

Очень много YouTube-каналов для прокачки английского языка для программистов

Время на прочтение4 мин
Количество просмотров61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии19

Нужен ли тебе Agile: 5 моделей для проверки

Время на прочтение4 мин
Количество просмотров27K
Дети, рожденные в год подписания Agile Manifesto, в этом году празднуют совершеннолетие. А взрослые люди продолжают спорить, где Agile применим. Обычно бьют по площадям: можно ли использовать Agile вне IT. Иногда добавляют драмы: пробовали ли вы строить атомную электростанцию по Agile? Для художественного эффекта так, конечно, лучше. Но если вы хотите сделать продукт, а не победить в конкурсе ораторов, то лучше смотреть применительно к конкретной ситуации.

В этой статье мы расскажем о нескольких моделях оценки применимости Agile и подробнее остановимся на одной их них — Agile Suitability Model, представленной в Agile Practice Guide от PMI и Agile Alliance.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии7

GlobalsDB — универсальная NoSQL база данных. Часть 2

Время на прочтение15 мин
Количество просмотров15K
Часть 1.

Моделируем 4 вида NoSQL-баз с помощью GlobalsDB
Будем реализовывать схемы хранения как в Redis, memcached, Cassandra, Neo4, SimpleDB, MongoDB
Всего голосов 25: ↑19 и ↓6+13
Комментарии3

Алексей Савватеев: Модели интернета и социальных сетей

Время на прочтение8 мин
Количество просмотров13K
«Единственный смысл существование экономики — это воодушевление математиков на новые подвиги.»

image

В 2013 году Алексей Савватеев прочитал несколько лекций по моделям соцсетей и интернета. Я нашел эту тему очень любопытной и незаслуженно забытой. Попробуем разобраться в вопросе. А ещё мне интересно узнать, как изменилась ситуация с тех пор и какие полезные публикации есть в этой области.

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

Ниже приводится скомпилированная выжимка из трёх видеозаписей лекций, само видео есть в конце. (Пост выглядит как набор слайдов с цитатами лектора, связать всё в единый и прилизанный текст у меня не хватает способностей к русскому языку и математике, но тема очень важная, поэтому хочу опубликовать.)
Всего голосов 33: ↑33 и ↓0+33
Комментарии21

Целостность данных в микросервисной архитектуре — как её обеспечить без распределенных транзакций и жёсткой связности

Время на прочтение9 мин
Количество просмотров63K

Всем привет. Как вы, возможно, знаете, раньше я все больше писал и рассказывал про хранилища, Vertica, хранилища больших данных и прочие аналитические вещи. Сейчас в область моей ответственности упали и все остальные базы, не только аналитические, но и OLTP (PostgreSQL), и NOSQL (MongoDB, Redis, Tarantool).


Эта ситуация позволила мне взглянуть на организацию, имеющую несколько баз данных, как на организацию, имеющую одну распределенную гетерогенную (разнородную) базу. Единую распределенную гетерогенную базу, состоящую из кучи PostgreSQL, Redis-ов и Монг… И, возможно, из одной-двух баз Vertica.


Работа этой единой распределенной базы порождает кучу интересных задач. Прежде всего, с точки зрения бизнеса важно, чтобы с данными, движущимися по такой базе, все было нормально. Я специально не использую здесь термин целостность, consistency, т.к. термин это сложный, и в разных нюансах рассмотрения СУБД (ACID и CAP теорема) он имеет разный смысл.


Ситуация с распределенной базой обостряется, если компания пытается перейти на микросервисную архитектуру. Под катом я рассказываю, как обеспечить целостность данных в микросервисной архитектуре без распределенных транзакций и жесткой связности. (А в самом конце объясняю, почему выбрал для статьи такую иллюстрацию).


Всего голосов 77: ↑76 и ↓1+75
Комментарии73

Материалы с VLDB, конференции о будущем баз данных

Время на прочтение4 мин
Количество просмотров5.1K

Конференция VLDB (Very Large Data Bases, www.vldb.org), как несложно понять из названия, посвящена базам данных. Очень большим базам данных. О чем её название не говорит, так это о том, что там регулярно выступают очень серьезные люди. Много ли вы знаете конференций, где почти каждый год докладывается Майкл Стоунбрекер (Michael Stonebraker, создатель Vertica, VoltDB, PostgreSQL, SciDB)? Не думали ли вы, что было бы здорово узнать, над чем такие люди работают сейчас, чтобы через несколько лет, когда новая база разорвет рынок, не грызть локти?


VLDB — именно та конференция, которую вам нужно посетить, если вы думаете о будущем.
Она вам не очень поможет, если вы выбираете из существующих баз. Там есть небольшая доля industrial докладов (Microsoft, Oracle, Teradata, SAP Hana, Exadata, Tableau (!)), но самое интересное — это исследовательские доклады от университетов. Xотя очень быстро обнаруживается, что в командах университетов есть один-два человека, работающих на Google, Facebook, Alibaba… или перешедших туда сразу после подачи статьи.


Надеюсь, мне удалось вас базово заинтересовать, а теперь давайте пройдемся, собственно, по докладам.


Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

NoSQL и Big Data – обман трудящихся?

Время на прочтение4 мин
Количество просмотров70K
imageНедавно нам удалось пообщаться с великим Монти — Майклом Видениусом, автором оригинальной версии открытой СУБД MySQL, который в настоящее время работает над ее ответвлением, MariaDB. (Кстати, обе эти базы поддерживаются в Jelastic.)

Как известно, мир производит и обрабатывает все больше данных (так называемый феномен «Big Data»). Общепринято мнение, что данных теперь так много, что обрабатывать их с помощью традиционных баз данных и программных методов трудно или невозможно. Это вызвало волну нереляционных баз данных (NoSQL), в которых упор делается на высокую масштабируемость. Эксперт в области баз данных, Монти, поделился с нами своими мыслями о текущем и будущем состоянии SQL, NoSQL и Big Data. Некоторые его ответы были несколько неожиданными, так что мы с радостью приводим здесь русский перевод расшифровки нашей беседы:
Читать дальше →
Всего голосов 93: ↑84 и ↓9+75
Комментарии286

Вам недоступны 80% данных вашей компании. Что с этим делать?

Время на прочтение1 мин
Количество просмотров3.5K
Данные – движущая сила развития компаний в 2019 году. Ни одна крупная компания не обходится без сбора и управления данными, и у многих из них уже есть штат специалистов в этой области. Однако главное разочарование нашего времени заключается в том, что по различным причинам до 80% данных оказываются недоступными для обработки и анализа.

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


Читать дальше →
Всего голосов 27: ↑4 и ↓23-19
Комментарии6

JOIN в NoSQL базах данных

Время на прочтение7 мин
Количество просмотров21K
В этом сообщении будут рассмотрены способы соединения коллекций в NoSQL базах данных mongodb, arangodb, orientdb и rethinkdb (помимо того, что это NoSQL базы данных, их объединяет еще и наличие бесплатной версии с достаточно лояльной лицензией). В реляционных базах данных аналогичная функциональность реализуется при помощи SQL JOIN. Несмотря на то, что CRUD — операции в NoSQL базах данных очень похожи и различаются только в деталях, например, в одной базе данных для создания объекта используется функция create({… }), в другой — insert({… }), а в третьей — save({… }), — реализация выборки из двух и более коллекций в каждой из баз данных реализована совершенно по-разному. Поэтому будет интересно выполнить на всех базах данных одинаковую выборку. Для всех баз будет рассмотрено получение выборки (связь типа многие-ко многим) для двух таблиц.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии4

NewSQL: SQL никуда не уходит

Время на прочтение26 мин
Количество просмотров42K
Tренду NoSQL уже почти 10 лет, и можно смело делать какие-то выводы и обобщения. Этим и займемся, поговорим про развитие NoSQL.

Вспомним, как родился NoSQL. Посмотрим, что в нем хорошо, а что плохо, и что выдержало испытание временем. Разберем возможности, которые уже есть в SQL, и которые теперь появляются в NoSQL СУБД. Выделим уникальные ценности NoSQL, и заглянем чуть-чуть вперед в то, что на рынке будет завтра.

А поможет нам в этом Константин Осипов (@kostja) — разработчик и архитектор СУБД Tarantool, который в своем докладе на РИТ++ 2017 говорил про тренды NewSQL, ведь архитектору полагается понимать, что происходит в мире баз данных, чтобы, как минимум, не изобретать велосипед.


О спикере: Сейчас Константин Осипов работает над Tarantool, но ранее участвовал в разработке MySQL, и, когда Константин начинал работу над новой базой данных, его очень смущало, зачем это делать вообще, зачем нужна очередная база данных. В частности, отношение к NoSQL было очень скептическим, как к «недоSQL».

Однако, развитие продолжается, некоторые изначальные принципы отмирают, и, в то же время, NoSQL базы перенимают возможности от классического SQL. На основании результатов этих нескольких лет бурной трансформации вполне можно подвести промежуточные итоги и позволить себе сделать несколько предсказаний на будущее.
Всего голосов 65: ↑64 и ↓1+63
Комментарии65

Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие

Время на прочтение16 мин
Количество просмотров29K

В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всевозможные способы решения этой задачи: от простого указания программистам на подходящие общие функции (С, Go) до таких мощных систем дженериков, что они стали полными по Тьюрингу (Rust, C++). В этой статье я расскажу о системах дженериков из разных языков и их реализации. Начну с решения задачи в языках без подобной системы (вроде С), а затем покажу, как постепенное добавление расширений приводит к системам из других языков.
Читать дальше →
Всего голосов 112: ↑110 и ↓2+108
Комментарии14

STL интерфейс Berkeley DB

Время на прочтение9 мин
Количество просмотров9.6K

Привет, Хабр. Не так давно для одного моего проекта понадобилась встраиваемая база данных, которая бы хранила элементы в виде ключ-значение, обеспечивала поддержку транзакций, и, опционально, шифровала данные. После непродолжительных поисков, я наткнулся на проект Berkeley DB. Кроме нужных мне возможностей, эта БД предоставляет STL-совместимый интерфейс, который позволяет работать с базой данных, как с обычным (почти обычным) STL-контейнером. Собственно про этот интерфейс речь пойдет ниже.

Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии14

Дифференцируемое программирование

Время на прочтение10 мин
Количество просмотров13K


С четырьмя параметрами я могу задать слона, а с пятью я могу заставить его шевелить хоботом.
– John Von Neumann

Идея «дифференцируемого программирования» очень популярна в мире машинного обучения. Для многих не ясно, отражает ли этот термин реальный сдвиг в том, как исследователи понимают машинное обучение, или это просто (еще один) ребрендинг «глубокого обучения». В этом посте разъясняется, что нового дает дифференцируемое программирование (или ∂P) в таблице машинного обучения.


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


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

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии8

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность