Многие из нас сталкивались в своей работе с СУБД. На текущий момент базы данных в том или ином виде окружают нас повсюду, начиная с мобильных телефонов и заканчивая социальными сетями, в число которых входит и любимый нами хабр. Реляционные СУБД являются наиболее распространенными представителями семейства СУБД, и большинство из них являются транзакционными.
В институте нас заставляли заучивать определение ACID и стоящие за ним свойства, но почему-то стороной обходились подробности реализации этой парадигмы. В данной статье я постараюсь частично заполнить этот пробел, рассказав о MVCC, которая используется в таких СУБД как Oracle, Postgres, MySQL, etc. и является весьма простой и наглядной.
Читать полностью »
Рубрика «Анализ и проектирование систем» - 145
Принципы работы СУБД. MVCC
2014-01-07 в 20:22, admin, рубрики: dbms, postgres, postgresql, rdbms, Алгоритмы, Анализ и проектирование систем, метки: dbms, postgres, rdbmsРазработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Работаем над ошибками
2013-12-28 в 8:12, admin, рубрики: Анализ и проектирование систем, задание, заказчик, ошибка, программа, продукт, разработка, управление проектами, метки: задание, заказчик, ошибка, программа, продукт, разработкаВ недалеком прошлом на этом замечательном ресурсе была опубликована статья Разработка технического задания (ТЗ) на программный продукт с точки зрения заказчика. Статья — сама по себе неплохая — содержит, к сожалению, ряд неточностей, о которых следует упомянуть. Сделаем это в «один проход» по абзацам. По второму абзацу:
Надо сказать, что у каждой из этих заинтересованных сторон свои требования и свое видение того, каким должно быть «хорошо написанное ТЗ». Например, у заказчика и исполнителя могут быть совершенно противоположные мнения на этот счет.
Уточнения:
- Технические задания не пишут (составляют, подготавливают, оформляют и пр.), а разрабатывают, см. хотя бы п. 1.2 ГОСТ 34.602-89;
- Если заказчик и исполнитель руководствуются требованиями ГОСТов, то совершенно противоположных мнений у них в принципе быть не может и не должно. Если же взаимодействие осуществляется «по понятиям» — как сейчас принято — то без «плюрализЬма мнений» тут, конечно, никак не обойтись.
Опыт разработки сервис-ориентированной системы
2013-12-26 в 11:42, admin, рубрики: gearman, mongodb, php, RabbitMQ, workers, Анализ и проектирование систем, парсинг, проектирование, метки: gearman, mongodb, PHP, RabbitMQ, workers, парсинг, проектированиеНекоторое время назад мы вместе с небольшой командой программистов начали разработку достаточно интересного с технической точки зрения аналитического проекта. Основной его целью была обработка данных, получаемых с различных веб-страниц. Нужно было обрабатывать эти данные, приводя в удобный вид и после этого анализировать собранную статистику.
До тех пор, пока у нас не было большого количества всевозможных данных, мы не имели каких-то нестандартных проблем и все решения были достаточно прямолинейными. Но проект разрастался, и размер собираемой информации, хотя сначала и не очень быстро, но все же увеличивался. Росла и кодовая база. И через некоторое время мы осознали весьма печальный факт — из-за всяких костылей и быстро-фиксов мы нарушили почти все возможные принципы проектирования. И если сначала организация кода была не столь важна, то со временем стало понятно, что без хорошего рефакторинга далеко мы не уедем.
Читать полностью »
Проектирование системы оповещений для веб-приложений
2013-12-16 в 14:44, admin, рубрики: CRM, CRM-системы, ERP-системы, Анализ и проектирование систем, веб-приложение, журналы событий, оповещения, триггеры, уведомления, метки: crm, веб-приложение, журналы событий, оповещения, триггеры, уведомленияЭта статья о том, как мы проектировали универсальную систему оповещений для наших веб-приложений и что в итоге получилось. Не стану утверждать, что полученный результат является единственно верным, однако считаю его достаточно хорошим. Если у вас есть опыт решения подобной задачи, приглашаю поделиться им в комментариях.
Суть задачи
Дано: веб-приложение для совместной работы. Для простоты можно считать, что это CRM или Task Tracker.
Требуется: своевременно уведомлять пользователей о событиях в приложении, на которые требуется их реакция.
В чем проблема?
Всё было бы очень просто, если бы у нас было конкретное приложение со строго определенными сценариями работы и фиксированными ролями пользователей. Но в нашем случае это не так. Мы разрабатываем различные системы учета и автоматизации бизнес-процессов на основе платформы-конструктора. И систему оповещений нужно сделать на уровне платформы, чтобы потом можно было ее использовать в любых приложениях.
Читать полностью »
Вы встречались с анализом леса популяции запросов SQL промышленного приложения (например, для оптимизации)?
2013-12-11 в 12:55, admin, рубрики: ERP-системы, sql, Анализ и проектирование систем, оптимизация запросов, метки: sql, оптимизация запросовХочу задать этот вопрос Хабровчанам.
Современные информационные системы строятся на различных видах СУБД и все же реляционные СУБД остаются самыми распространенными и используемыми. Интересная статистика на эту тему ТУТ и ТУТ.
При разработке и модификации систем уровень формализации знаний аналитиков и разработчиков остается небольшим (автоматизации создания умных запросов или с учетом ряда четких правил) и чаще всего результирующие SQL запросы написаны «нормально», «как привык», «так пишут у нас на фирме», а вопросы оптимизации остаются на этап выполнения запросов в СУБД и последующие этапы оптимизации (в худшем случае ждут, когда все начинает тормозить).
Объем ручного кода остается большим даже несмотря на Читать полностью »
Выбор CASE инструмента для разработки процессов в BPMN
2013-12-04 в 5:18, admin, рубрики: Анализ и проектирование систем, метки: бизнес-процесс
Каждый, кто начинает разрабатывать бизнес процессы в BPMN нотации, сталкивается с проблемой выбора оптимального инструмента. Даже когда этот инструмент спускается сверху (мы в нашей организации работаем только на …) или коллега советует программу (меня полностью устраивает …), очень хочется, чтобы огласили весь список, который поможет понять, что Вы сделали верный выбор, ну или, что существуют более эффективные инструменты, чем те, на которых Вы вынуждены работать.
Для разработки схем процессов в соответствии с нотацией BPMN наработано уже довольно много программ. Этот обзор – результат небольшого исследования рынка для поиска того программного продукта, которое можно будет использовать для работы. Обзор не претендует на полный анализ рынка и может быть использован для получения первичной информации. Следует иметь ввиду, что все рассматриваемые программы рассмотрены в первую очередь с точки зрения «рисования» процесса, без учета реального позиционирования этих программ на рынке. Основные возможности, которые востребованы в рамках рассматриваемого контекста и по которым оценивались программы, это:
- полнота и соответствие нотации BPMN 2.0;
- удобство разработки схем процессов в нотации BPMN 2.0 и скорость дизайна;
- возможность проверки схем и выгрузки результатов в общепринятых форматах.
Также немного затронут вопрос возможности автоматизации разработанных процессов (без учета сложности и удобства внедрения, а также полноты достижения бизнес целей).
Читать полностью »
Геймификация в деле
2013-11-25 в 12:54, admin, рубрики: KPI, Анализ и проектирование систем, бизнес-процессы, Блог компании LiveTex, геймификация, корпоративная культура, метки: KPI, бизнес-процессы, геймификация, корпоративная культура
О чем все это
В последнее время о геймификации говорят много. Рассказывают о сути технологии и истории возникновения, описывают механики, приводят в пример Foursquare, собирают статистику и проводят опросы. Теории в сети достаточно, а вот качественных примеров применения геймификации в бизнесе мало. Данная статья ставит перед собой цель показать на примере LiveTex, каким образом можно органично вписать инструментарий геймификации в бизнес-процессы компании.
Читать полностью »
Цветовая пипетка на JS, 399 символов
2013-11-20 в 7:08, admin, рубрики: color picker, javascript, Анализ и проектирование систем, Графические оболочки, метки: color picker Пикер умеет много гитик:
1) показывает код цвета по наведению мыши;
2) предоставляет код для копирования по клику;
3) переформатируется в другое количество цветов и ячеек без изменения объёма кода.
<body onload="var H=512,D=51,s='',h=function(a){return a.toString(16).substr(1)},r=256,g,b,v;for(;r<H;r+=D){for(g=256;g<H;g+=D)for(b=256;b<H;b+=D)s+='<b style="background-color:'+(v=h(r)+h(g)+h(b))+';display:inline-block;width:8px;height:8px;border:1px solid;margin:-1px"onmouseover=this.title=''+v+'' onclick=prompt('',''+v+'') ></b>';s+='<br>'}document.body.innerHTML+=s">
Гитхаб-демо (фиддл поддерживать это не умеет)
Читать полностью »
Системный аналитик: что можно ожидать от профессии?
2013-11-19 в 13:02, admin, рубрики: Анализ и проектирование систем, аналитика, Песочница, системный анализ, управление проектами, метки: аналитика, песочница, системный анализ
Данный пост я создаю для тех, кто хочет своей профессией выбрать системный анализ и хочет понимать, что его ждёт.
Не так давно я перебрался из Питера в Москву. Работая в небольшой компании, выполнял очень разнообразные задачи, но при поиске работы системным аналитиком в столице понял, что требования к одной и той же профессии, по сути, очень разные. Чем больше компания и проект, тем меньший скоп задач придётся выполнять, и как следствие, тем более узкая будет специализация. Широкий профиль возможен только на небольших проектах, где хватает ресурсов одного системного аналитика.
Вот что входит в его обязанности (обобщённо) в избыточном варианте:
Читать полностью »