В стандартных хранимых классах Caché при модификации записи прежние значения свойств исчезают безвозвратно. Но бывают случаи, когда это нежелательно, когда «все ходы должны быть записаны». В первую очередь, конечно, такое требование возникает при разработке приложений для материально ответственных лиц, для которых критична возможность, например, отменить ошибочное действие и восстановить состояние документа на заданное время, или, что ещё важнее, провести расследование инцидента с попыткой злоумышленника «замести следы» в базе.
В этой статье демонстрируется, как реализовать хранение и восстановление версий для объектов Caché.
Читать полностью »
Рубрика «nosql» - 29
Версионное хранение данных в Persistent-классах Caché
2013-04-19 в 3:57, admin, рубрики: cache, dbms, intersystems cache, nosql, ObjectScript, Блог компании InterSystems, глобалы, объектные субд, разработка, метки: cache, dbms, InterSystems cache, ObjectScript, глобалы, объектные субдСтартует митап-группа «Moscow Cassandra Users»
2013-04-16 в 12:26, admin, рубрики: big data, cassandra, nosql, встречи, высокая производительность, события, метки: cassandra, встречи, событияДрузья,
рад сообщить, что в Москве при поддержке компании DataStax стартует группа, посвященная NoSQL-хранилищу Apache Cassandra.
Всего в рамках группы планируется проводить 6 встреч в году. Некоторые из них будут проходить с участием разработчиков и архитекторов DataStax, т.е. будет возможность задать свои вопросы и высказать наболевшее лично людям, которые активно развивают продукт.Читать полностью »
Глобалы MUMPS: Экстремальное программирование баз данных. Часть 2
2013-04-11 в 16:45, admin, рубрики: cache, MUMPS, nosql, sql, бдНачало см. часть 1.
Глава 2. SQL/реляционные БД против MUMPS
В этой главе будут изложены основные различия между обычными SQL реляционными базами данных и БД на основе MUMPS.
Прочитайте главу 1, если вам нужно лучше понять что такое глобалы и как делаются манипуляции с ними.
Читать полностью »
БД. Справочники. Примеры на MUMPS (Cache Object Script)
2013-04-08 в 8:17, admin, рубрики: MUMPS, nosql, Блог компании InterSystems, Веб-разработка, справочники, структуры данных, субд Caché, метки: MUMPS, справочники, структуры данных, субд CachéНа хабре часто можно встретить различные статьи о том как сделано то или то, с непосредственной реализацией, кодом, примерами, обоснованиями (пусть даже спорными). Кто-то выкладывает пример контролла, кто-то даёт практические советы по яваскрипту. Однако я не видел, чтобы кто-нибудь, рассказывал об организации структуры БД. Дальше каких-то школьных примеров это не заходит (если ошибаюсь поправьте и дайте ссылки). Нет, холивары SQL vs NoSQL меня не интересуют. По моему скромному убеждению — СУБД вторична в вопросах организации БД. Вопросы производительности конкретных СУБД становятся актуальными далеко не сразу. Какая бы ни была выбрана СУБД, под определённую задачу, к производительности предъявляется всего одно требование — производительность должна быть достаточной. А вот пути достижения этой самой достаточности, способы удобно и красиво разместить данные — чтобы быстро и легко их извлекать, организация справочников и индексов, ввода и вывода, способы масштабирования и/или изменения структуры БД в течении жизни, используемые методики, решённые и нерешённые проблемы, полезные рецепты и советы — это всё то, о чём я хочу поговорить.
Разработка структур БД очень интересный и нетривиальный процесс. В этой обширной области встречается мало живых примеров, которые можно посмотреть, обсудить. Неужели вам, разработчики БД, всегда всё ясно что и как делать? Давайте делиться знаниями, давайте спрашивать, рассказывать, обсуждать, узнавать. Какая разница таблица или объект или глобал — важно какой смысл вкладывается, какие связи выстраиваются, какими средствами эти связи реализовываются.
Я не работаю в интерсистемс, это указано в моём профайле только чтобы иметь возможность размещать статьи в их блог (отдельного хаба для MUMPS или COS на хабре нет). Так что описанные мной методы могут не совпадать с «заводскими» рекомендациями использования СУБД Cache и языка Cache Object Script.
Пару дней назад был опубликован перевод, в котором мой подход, к программированию БД, называли экстремальным — я с этим не совсем согласен. В комментариях, было как минимум три человека (Ogoun uaoleg 4dmonster), которые сказали, что им было бы интересно посмотреть на живое использование MUMPS и узнать почему не надо бояться глобалов. Для этих людей и всех тех, кому интересно обсудить затронутые мной темы, я и пишу данную статью.
Читать полностью »
Глобалы MUMPS: Экстремальное программирование баз данных. Часть 1
2013-04-05 в 13:41, admin, рубрики: cache, MUMPS, nosqlПримечание от переводчика.
Есть интересная технология в мире БД — MUMPS. Этот язык программирования и доступа к данным известен уже несколько десятилетий, отлажен и является взрослой проверенной технологией.
Приведу аналогию: если SQL можно сравнить с Бейсиком, то MUMPS больше похож на Си — даёт высочайшую производительность и гибкость.
Перед вами перевод первой части статьи «Extreme Database programming with MUMPS Globals». Если сообществу он покажется интересным, то последует перевод второй части.
Исполнение команд операционной системы на сервере Caché
2013-03-29 в 7:37, admin, рубрики: cmd, dbms, intersystems cache, nosql, pipeline, Блог компании InterSystems, разработка, метки: cmd, dbms, InterSystems cache, nosql, pipeline По мотивам статьи в Developer Connection написал свою реализациию класса для вызова команд операционной системы сервера, где установлена Caché или Ensemble.
Класс может пригодиться, когда нужно из Caché что-то сделать на хостовой ОС: распорядиться файлами бэкапов, настроить работу с системой контроля версий и другие полезные действия.
Класс позволяет выполнить команду на любой хостовой ОС и получить ответ в глобал или локальную переменную.
Читать полностью »
Сегодня состоялся релиз финальной версии MongoDB 2.4. Одна из новых возможностей — поддержка полнотекстового поиска с морфологией и стоп-словами. Правда, пока только в экспериментальном режиме. Среди 15 поддерживаемых языков есть и русский, что очень радует.
Ещё одно заметное изменение — смена движка javascript. Вместо SpiderMonkey теперь используется V8. Довольно логичный шаг, теперь было бы неплохо посмотреть сравнительные тесты map-reduce.
Также можно отметить улучшения в индексировании и выборке гео-данных.
И ещё одно крупное изменение: добавление ролей пользователей и привилегий(read, readWrite, dbAdmin, clusterAdmin и т.д.). Посмотрим, что из этого выйдет.Читать полностью »
Записи докладов с конференций по высоким нагрузкам HPC
2013-03-18 в 12:37, admin, рубрики: badoo, high performance, highload, it-миграция, ITmozg, jelastic, microsoft, node.js, nosql, windows azure, высокая производительность, Программирование, метки: badoo, high performance, highload, it-миграция, ITmozg, jelastic, microsoft, node.js, nosql, windows azureЗаписи с последней конференции HPC — High Performance Conference, состоявшейся 6 декабря 2012, никак не анонсировались, хотя заслуживают внимания.
Под катом видеозаписи следующих докладов:
- Практические вопросы использования NOSQL в высоконагруженном проекте
Дмитрий Ананьев, Руководитель группы разработки новых сервисов, Мамба - Как работает «умная живая миграция» в Jelastic
- Дмитрий Лазаренко, Директор R&D, Jelastic Russia
- Parallels Cloud Server как платформа для высокопроизводительных систем
Дмитрий Мишин, Team-lead отдела серверной виртуализации, Parallels - Облачная платформа Windows Azure для высоконагруженных проектов
Владимир Юнев, Technical evangelist, DPE, Microsoft Russia
и одно видео с фестиваля профессионального развития BitByte:
- Badoo Desktop: оптимизация приложения на миллион юзеров
Руководитель проекта десктопных приложений компании Badoo.
Важнейшие $in’ы: производительность MongoDB в диапазонах
2013-03-07 в 9:17, admin, рубрики: mongodb, nosql, Администрирование баз данных, базы данных, индексацияПеревод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.
Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.
Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.
Запрос
db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})
Индекс
{"country": 1, "carsOwned": 1}
Такая комбинация будет не такой эффективной, как может показаться, не смотря на то, что индекс соответствует правилу. В этом запросе есть ловушка, в которую вы с легкостью попадете следуя общепринятому мнению.Читать полностью »
Книги по Caché и MUMPS
2013-02-27 в 6:04, admin, рубрики: book, intersystems cache, MUMPS, nosql, Блог компании InterSystems, книги, подборка, субд Caché, метки: book, InterSystems cache, MUMPS, nosql, книги, подборка, субд Caché 
Уважаемое читатели!
Технология Caché, унаследовавшая в себе M-технологию(MUMPS), развивается уже более 30 лет. Но академических книг по MUMPS вообще и по Caché в частности известно не так много, а такие книги на русском языке — еще большая редкость.
Тем не менее, техническая литература по Caché есть, более того — появляются новые книги. В этом посте обзор текущего состояния по предложению книг о Caché и M-технологиях в России и мире — те книги, которые можно приобрести в сети.
Читать полностью »

