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

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 и жалующихся программистах
Читать полностью »

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

«Я беру камень и отсекаю всё лишнее»
© Микеланджело Буонарроти

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

В общих чертах, основную идею можно понять из заголовка. Я хочу построить облачную систему управления контентом баз данных (CDBCMS — Cloud database content management system). Проще говоря, это веб-сервис для обеспечения доступа к базе данных, генерирующий красивую и удобную панель для редактирования содержимого вашей базы данных.Читать полностью »

Создание расширений в PostgreSQL
Здравствуйте, читатели! Темой этой статьи будет создание расширений для PostgreSQL. В качестве примера, мы реализуем небольшую библиотеку для работы с 3D векторами. Параллельно будут рассмотрены пользовательские типы, операторы и приведения типов. Не будет лишним ознакомися с этим материалом, так как реализация хранимых функций будет на языке C. Надеюсь, друзья слонов помогут скрасить серый технический текст статьи.
Читать полностью »

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

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

Проблематика

Итак, вы – пользователь, имеющий право на чтение в некой СУБД. Вероятно, перед вами стоит набор типовых подзадач:

  • Разобраться со структурой данных
  • Найти в ней нужные сущности
  • Найти в них нужные поля
  • Найти связи между сущностями
  • Найти интересующие значения
  • Отобрать набор значений
  • Выбрать нужные данные
  • Убедиться, что это действительно ТЕ САМЫЕ данные, которые вы искали
  • Сохранить результаты
  • Подготовить из них отчеты

Наконец, весьма вероятно, что эти задачи вам надо решать регулярно.

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


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