Рубрика «базы данных» - 41

Как только ваша информационная система становится рабочей (prоduction), появляется необходимость иметь как минимум две копии ее базы данных. Первая, резервная, с некоторой частотой создается при помощи штатных утилит и представляет собой согласованный дамп (consistent dump). Цель его создания — восстановление системы после сбоя (disaster recovery).

Мы же рассмотрим создание второй копии, необходимой для продолжения работы над проектом. Статья ориентирована на разработчиков, только вступающих на тернистый путь управления качеством. И бесполезна тем, кто уже знает, что «вторая копия» на самом деле не совсем вторая, и не совсем копия.
Читать полностью »

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

Мы сейчас обсуждаем возможность издать на русском языке книгу Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design и хотели бы включить в эту дискуссию «коллективный разум».

Уважаемые читатели! Пожалуйста, оцените это издание по пятибалльной шкале. Насколько оно раскрывает тему? Будет ли оно полезно разработчикам БД — лично вам, или, может быть, вашим менее опытным коллегам, которые смогут избежать ошибок проектирования?
Комментарии своей оценки, как всегда, приветствуются.
Читать полностью »

YAWNDB — time series база данных

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

Наиболее простым и наглядным способом представления статистических данных является построение графиков. Существует много специализированных программных решений, предназначенных для анализа статистических данных с последующей визуализацией.Мы стали искать подходящий инструмент; основным требованием при этом была высокая производительность. В результате этих поисков… Впрочем, обо всем по порядку. Начнем с небольшого теоретического вступления.Читать полностью »

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

Согласно официальному сайту, Holland — фреймворк с открытым исходным кодом для создания резервных копий, разработанный Rackspace и написанный на языке Python. Проект преследует цель создания бекапов с большой гибкостью настройки, логичной структурой и простотой использования. В данный момент Holland работает с MySQL и PostgreSQL, однако в будущем будет включать большее разнообразие баз данных, и даже приложения, никак не относящимся к базам данных. Благодаря модульной структуре Holland может быть использован для создания резервных копий чего угодно, как угодно.
Читать полностью »

Уже более 3 лет наша команда занимается разработкой такого важного компонента сети оператора как PCRF. Policy and Charging Rules Function (PCRF) – решение для управления политиками обслуживания абонента в сетях LTE (3GPP), позволяющее в реальном времени назначать ту или иную политику, принимая во внимание сервисы, подключенные у абонента, его местонахождение, качество сети в данном месте в данный момент, время суток, объем потребленного трафика и т.д. Под политикой в данном контексте подразумевается доступный абоненту набор сервисов и параметры QoS (качества обслуживания). Анализируя соотношение цена-качество для различных продуктов в данной области от разнообразных поставщиков, мы приняли решение разрабатывать свой продукт. И вот уже более 2 лет, наш PCRF успешно работает на коммерческой сети компании Yota. Решение полностью софтовое, с возможностью устанавливать даже на обычные виртуальные сервера. Работает в коммерции на Red Hat Linux, но в целом возможна установка и под другие Linux-системы.
Читать полностью »

image

Предлагаю всем джангистам/алхимистам немного отвечься и почитать вольную интерпретацию вводного туториала и частично документации по Peewee – stand-alone ORM, обязательной к ознакомлению любому питонщику и, в особенности, фласкеру. Пишут о ней мало, а зря. С Peewee очень просто подружиться, особенно если вы уже знакомы с какой-нибудь ORM на ActiveRecord. Что более важно – с ней приятно дружить :) Ну, начнём.

Установка

С pip:

pip install peewee

Из репозитория:

git clone https://github.com/coleifer/peewee.git cd peewee python setup.py install

Тесты:

python setup.py test

Есть обвязка для flask:

pip install flask-peewee

Определение моделей или «попахивает джангой»

Весь нижеследующий код можно повторить один к одному в интерактивном интерпретаторе или отдельном скрипте.

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()
    is_relative = BooleanField()

    class Meta:
        database = db  # модель будет использовать базу данных 'people.db'

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

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

  • Обновление БД с конкретной версии на любую другую за один шаг, как на более позднюю, так и возврат к предыдущей;
  • Легкое получение скриптов миграции в автоматическом режиме, с возможностью «ручного» внесения исправлений в крайнем случае;
  • Создание «с нуля» нового экземпляра БД, соответствующего имеющейся версии приложения;
  • Простое создание тестовых/девелоперских экземпляров БД на базе актуальных рабочих БД для ведения разработки на них, которые максимально соответствуют этим рабочим.
  • Контроль и аудит нежелательных изменений в экземплярах БД, при необходимости автоматический возврат к эталонному состоянию в сжатые сроки.

Уже упоминалось, что версионный подход не очень эффективно применять без использования каких-либо инструментальных решений. Посмотрим, как можно решить эти задачи с помощью DB Change Manager компании Embarcadero. Это утилита для администраторов БД и разработчиков баз данных позволяет упростить и автоматизировать внесение изменений в базы данных и создавать отчеты об изменениях. DB Change Manager обеспечивает согласованность БД, соблюдение норм и конфиденциальность данных.

Концепция работы утилиты основывается на операциях сравнения и «архивирования». DB Change Manager позволяет анализировать и сравнивать элементы БД, взятые из двух различных источников данных. Он генерирует SQL-скрипт, с помощью которого один источник данных будет изменен так, чтобы он совпадал с другим.
Читать полностью »

Расписание и тезисы докладов готовы и доступны на сайте CassandraConf.ru. Итак, что нас ждет 9 декабря:
image

Читать полностью »

Несмотря на то, что прошло уже полтора месяца после IDCEE 2013, новые тексты о ней и по её мотивам всё ещё выходят. Сегодня, например, на DOU.ua опубликовали длинное и развесистое интервью с Расмусом Лердорфом, который создал PHP, но из принципиальных соображений не хочет заниматься им в качестве основной работы. Ниже — несколько интересных цитат и дополнительные видеоматериалы.

Вместо эпиграфа можно использвать парафраз Отто фон Бисмарка из внутриредакционного обсуждения текста: «Колбаса, политика и PHP: если хотите наслаждаться ими — не смотрите, как они делаются».

Создатель PHP Расмус Лердорф — об анархии и демократии в разработке языка, PHP 5.6 и жалующихся программистах
Читать полностью »

На днях столкнулся с глупейшей ситуацией. Запустили один веб-проект, все работает, код пишется и дополняется, базы данных наполняются. Разработка идет на тестовом хосте, затем изменения заливаются на сервер, вся проверка сводится к заходу на сам сайт и тесту всего и всея. Вдруг, выясняется, что буква «ш» не отображается на сайте, а вместо неё два ничего не значащих символа.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js