Pull to refresh
165
229.9
Сергей Ю. Каменев @inetstar

Алгоритмист. Автор. Поставщик SSD, RAID, серверов.

Send message

Глобалы — мечи-кладенцы для хранения данных. Разреженные массивы. Часть 3

Reading time6 min
Views14K
В прошлых частях (1, 2) мы говорили о глобалах как о деревьях, в этой мы рассмотрим глобалы как разреженные массивы.

Разреженный массив — это разновидность массива, в котором большинство значений принимает одинаковое значение.

На практике часто встречаются настолько огромные разреженные массивы, что нет никакого смысла занимать память одинаковыми элементами. Поэтому есть смысл разреженные массивы реализовывать так, чтобы память не расходовалась на хранение одинаковых значений.
В некоторых языках программирования разреженные массивы входят в сам язык, например в J, MATLAB. В других языках программирования есть специальные библиотеки, которые позволяют реализовать их. Для С++ — Eigen и др.

Глобалы — хорошие кандидаты для реализации разреженных массивов, потому что:
Читать дальше →

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 2

Reading time8 min
Views13K
Начало — см. часть 1.

3. Варианты структур при использовании глобалов


Такая структура как упорядоченное дерево имеет разные частные случаи. Рассмотрим те, которые имеют практическую ценность при работе с глобалами.

3.1 Частный случай 1. Один узел без ветвей


Читать дальше →

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 1

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

Если использовать глобалы в решении тех задач, в которых они действительно хороши, то можно добиться выдающихся результатов. Либо в производительности, либо в упрощении решения задачи (1, 2).

Глобалы — это специальный способ хранения и обработки данных, совершенно другой, чем таблицы в SQL. Они появились в 1966 году в языке M(UMPS) (эволюционное развитие — Caché ObjectScript, далее COS) в медицинских БД и до сих пор там активно используются, а также проникли в некоторые другие области, где требуется надёжность и высокая производительность: финансы, трейдинг и т.д.

Глобалы в современных СУБД поддерживают транзакции, журналирование, репликацию, партиционирование. Т.е. на них можно строить современные, надёжные, распределённые и быстрые системы.

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

Глобалы как способ хранения данных можно использовать во многих современных языках программирования, как высокоуровневых, так и низкоуровневых. Поэтому в этой статье я сфокусируюсь именно на глобалах, а не на языке, из которого они когда-то вышли.
Читать дальше →

Видео лекции о 3D биопринтинге (проводит к.б.н. Сергей Новосёлов, автор M.D., Ph.D., В.А. Миронов)

Reading time1 min
Views9.4K

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

Reading time8 min
Views17K
От переводчика
На мой взгляд на Хабре мало информации о бесплатной NoSQL-базе GlobalsDB. Оригинальная статья написана в августе 2011 года и ещё актуальна. Перед вами первая часть. Во второй части будет рассказано как с помощью GlobalsDB моделировать различные типы NoSQL-баз.

Роб Твид (Rob Tweed)Введение

GlobalsDB — бесплатная база данных, которая использует для сохранения данных механизм Глобальных Постояннохранимых Переменных (Global Persistent Variables), т.е. переменных значения которых автоматически сохраняются на жёстком диске. Они представляют собой абстракцию над бинарными деревьями (B-trees) и могут быть использованы для хранения больших объёмов данных представленных как многомерные разреженные массивы.

С помощью Глобальных Постояннохранимых Переменных (обычно называемых «глобалами», поэтому и база называется GlobalsDB) можно выразительно и высокоэффективно решать все обычные задачи, для которых принято сегодня использовать различные NoSQL-базы.
Подробнее

Визуальный язык ДРАКОН и его применение в ракетно-космической отрасли, медицине и других областях. Видео доклада В. Паронджанова

Reading time2 min
Views33K
Википедия о ДРАКОНе.

ДРАКОН иногда называют правильными блок-схемами. Но в первую очередь он отлично подходит для записи алгоритмов.
Внутри НПЦ АП (Научно-производственный центр автоматики и приборостроения) ДРАКОН используется с помощью закрытой технологии ГРАФИТ-ФЛОКС.

За рамками НПЦ АП есть открытые общедоступные среды, на которых можно писать реальные программы на так называемых гибридных языках, например: ДРАКОН-Си, ДРАКОН-JavaScript, ДРАКОН-Java, ДРАКОН-C#, ДРАКОН-Python, ДРАКОН-Tcl, ДРАКОН-ASM и т.д.



Доклад представлен на Международной научно-технической конференции «Системы и комплексы автоматического управления летательных аппаратов», посвящённой 105-летию со дня рождения академика АН СССР Н.А. Пилюгина. Конференция проводилась 21 мая 2013 в Институте проблем управления РАН.

Текстовая версия доклада (более подробная)
Дополнительная информация о ДРАКОНе

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 3

Reading time9 min
Views8.2K
Роб Твид (Rob Tweed)
Начало см. часть 1, часть 2.

Вторичные индексы

В реляционных базах данных вторичные индексы задаются как правило при определении таблиц, или после с помощью ALTER TABLE. Если индекс определён, то он автоматически создаётся, а потом поддерживается и пересчитывается базой данных при изменении данных.

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

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 2

Reading time7 min
Views9.7K
Роб Твид (Rob Tweed)
Начало см. часть 1.

Глава 2. SQL/реляционные БД против MUMPS



В этой главе будут изложены основные различия между обычными SQL реляционными базами данных и БД на основе MUMPS.

Прочитайте главу 1, если вам нужно лучше понять что такое глобалы и как делаются манипуляции с ними.
Читать дальше →

Глобалы MUMPS: Экстремальное программирование баз данных. Часть 1

Reading time12 min
Views24K
Примечание переводчика.

Есть интересная технология в мире БД — MUMPS. Этот язык программирования и доступа к данным известен уже несколько десятилетий, отлажен и является взрослой проверенной технологией.

Приведу аналогию: если SQL можно сравнить с Бейсиком, то MUMPS больше похож на Си — даёт высочайшую производительность, гибкость и универсальность, позволяя создавать наисложнейшие структуры данных.

Перед вами перевод первой части статьи «Extreme Database programming with MUMPS Globals». Если сообществу он покажется интересным, то последует перевод второй части.

Читать дальше →

Почему я не люблю AJAX-автоподгрузку и предпочитаю ссылки с номерами страниц

Reading time2 min
Views7K
imageЯ не луддит. Я понимаю, что AJAX даёт возможность более быстро просмотреть большее количество контента экономя трафик и время. Но у большинства реализаций автоподгрузки с моей точки зрения есть ряд существенных недостатков.
Узнать

TODO-списки через Jabber

Reading time1 min
Views903
Когда я делал JoDo.im пришла мысль сделать ботов для ведения своих личных TODO-списков.

Итак, если вы используете IM-клиент с поддержкой Jabber (QIP, Miranda, GTalk, Kopete и т.п.), то вы можете создавать и управлять TODO-списками прямо из окна чата.

Для создания списка нужно добавить себе в контакты любое_имя@bot.jodo.im
Узнать команды бота

JoDo.im — симбиоз jabber-сервера и системы управления фрилансерами

Reading time5 min
Views1.2K
imageЭтот сервис создавался в первую очередь потому что был нужен мне самому. C 2002 года я занимаюсь веб-разработками с привлечением фрилансеров.

Через какое-то время у меня появились постоянные сотрудники и фрилансеры. Первое время обсуждение проектов и и работа над ними велась голосом, телефоном и емейлом.
Что было дальше

Дао опозданий

Reading time2 min
Views1.7K
Я много опаздывал. На занятия в школу, институт, работу, поезд (не один раз) и даже самолёт. Я даже гордился этим. Вплоть до создания своей особенной философии: «Лучше поздно, чем никогда», «приходят с запасом закомплексованные ботаны, трусы или те, кто не умеет рассчитывать время».

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

Только для убеждённых опаздунов! Те кто всегда вовремя — это не для вас!

Только для убеждённых опоздунов

Переход с HDD на SSD: Расчёт времени увеличения автономной работы ненового ноутбука

Reading time1 min
Views35K
У меня есть старая таблетка HP TC4400 и меня заинтересовало какой выигрыш во времени автономной работы можно получить при переходе с HDD на SSD.

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

Мы выигрываем минуты или часы?

PocketBook 903 Pro (экран 9.7 дюймов) — чтение PDF, DJVU и личные впечаления

Reading time5 min
Views18K
По жизни у меня есть необходимость читать научные PDF и DJVU. Естественно, на маленьком экране делать это очень неудобно, а лишний раз расходовать бумагу (то бишь лес) мне не позволяет совесть, да и носить распечатки неудобно.

ТЯЖЁЛЫЕ СКАНЫ И ФОТОГРАФИИ РЕАЛЬНЫХ ТЕКСТОВ С ЭКРАНА, ЧТОБЫ БЫЛО ЯСНО ЧЕГО ОЖИДАТЬ ОТ ДЕВАЙСА

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Reading time8 min
Views28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.

Как за 20 000 р. привлечь внимание посетителей интернет-выставки

Reading time1 min
Views675
imageЭти девушки привлекли к себе внимание почти всего мужского контингента выставки RIW 2010.

Нанять таких красавиц (как это было сделано см. в конце поста) оказалось довольно просто.

Читать дальше →

Нужен совет по выбору CMS для сайта торгового комплекса

Reading time2 min
Views860
Я знаю, что Хабр не форум и поэтому задаю этот вопрос в своём личном блоге.

Итак, будет много страниц информационных и у каждого арендатора (их сотни) будет своя страница, на которой он может выложить фото нескольких своих товаров в виде маленькой фотогаллереи.
Критерии:

Пароль как мотивация

Reading time1 min
Views1.6K
Что чаще всего мы набираем на клавиатуре и помним лучше всего?

Правильно, пароли!

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

Например:

sdelay1shagkceli
seychasotozhmus20raz
!zhenazhdet!
posvoniroditelyam120943871208

И таким образом появится ещё один способ себя замотивировать. Успехов!

P.S. В целям безопасности не используйте эти примеры. Творите свои мотивационные пароли!

Information

Rating
16-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 500,000 ₽
SQL
Python
Linux
MySQL
Database
Golang
High-loaded systems
OOP
Docker
PostgreSQL