Google Analytics

Показаны сообщения с ярлыком Базы данных. Показать все сообщения
Показаны сообщения с ярлыком Базы данных. Показать все сообщения

среда, 20 июля 2011 г.

Особенности паттернов параллельного программирования для бизнес приложений [PoEAA]

Параллельное программирование давно уже перестало быть уделом матёрых гуру. Трудно представить современное приложение, реализация которого игнорировала бы этот вопрос. Аналогично трудно представить прикладного программиста, который бы не держал на вооружении паттернов корпоративных приложений от Фаулера с компанией. Собственно об особенностях присущих этим паттернам и пойдёт речь в этом посте. Материал представленный далее почти не коррелирует с технологиями реализации, поэтому может быть интересен любым прикладным программистам не смотря на то, что примеры базируются на Java и PostgreSQL. И ещё одно замечание, чтобы не вносить путаницу с названиями паттернов, я буду использовать их оригинальные названия на английском языке.

суббота, 11 июня 2011 г.

Конкурентный доступ к реляционным базам данных

Вопросы параллелизма в компьютерных вычислениях очень сложны! Если вы готовы с эти поспорить, то я отвечу: "Вы либо гений, либо не достаточно разбираетесь в вопросе". Причинами большой сложности являются огромное количество деталей, которые нужно учитывать при разработке параллельных программ. В программирование и без того существует большое количество деталей, которые создают почву для ошибок, параллелизм же, добавляет ещё.

Вопросы конкурентного доступа к реляционным базам данных встают практически перед любыми разработчиками прикладного программного обеспечения и не только перед ними. Результатом такой востребованности этой области является наличие большого количества созданных архитектурных паттернов. Это позволяет успешно справляться с большой сложностью разработки таких программ. Ниже пойдёт речь о таких рецептах, а также механизмах на которых базируется их реализация. Повествование будет иллюстрироваться примерами кода на Java, но большинство материала не привязано к языку. Цель статьи - описать проблемы конкурентного доступа к реляционным базам данных, в качестве введения в предмет, а не полноценного охвата темы.

суббота, 2 октября 2010 г.

Практическое знакомство с Cassandra: Часть 3 Учебное приложение MyBlog


В этом посте речь пойдет о разработке учебного приложения блога, в качестве хранилища данных для которого будет применяться Cassandra. Для чтения этого материала желательно ознакомиться с предыдущими постами на эту тему "Часть 1 Модель данных и установка" и "Часть 2 Типы сортировщиков колонок, TimeUUIDHelper и генератор кода Thrift".

среда, 22 сентября 2010 г.

Практическое знакомство с Cassandra: Часть 2 Типы сортировщиков колонок, TimeUUIDHelper и генератор кода Thrift

Этот пост продолжение практического знакомства с Cassandra начатого в "Часть 1 Модель данных и установка". Мы поговорим о типах сортировщиков колонок поставляемых по умолчанию, напишем вспомогательный класс TimeUUIDHelper для работы с TimeUUID и сгенерируем код API для взаимодействия с Cassandra. Это поможет написать учебное приложение. Повторюсь, вся разработка будет вестись на Java под GNU/Linux Debian Squeeze. И так, на данный момент мы должны иметь: настроенный и запускаемый хотя бы один узел Cassandra 0.7.0 beta1, скомпилированный генератор кода из Thrift framework.

понедельник, 20 сентября 2010 г.

Практическое знакомство с Cassandra: Часть 1 Модель данных и установка

Cassandra - это высоко-масштабируемое, согласуемое(автоматически восстанавливающее согласованность данных), распределенное, основанное на структуре ключ-значение хранилище. Cassandra предлагает вместе технологии распределенных систем Dynamo и модель данных Google BigTable.
Это первая из трех частей по практическому знакомству с NoSQL распределенной базой данных Cassandra. Тема NoSQL баз данных приобрела большую популярность за последние пару лет и благодаря открытым проектам стала доступна многим разработчикам, а не только элитарному кругу посвященных. NoSQL технологии достаточно молоды, по крайне мере в области "массового" применения, что только подогревает интерес к изучению. Сразу оговорюсь, это не серебряные пули, которые решат все проблемы. Это другой взгляд на их решение со своими недостатками. Для знакомство с Cassandra мы реализуем учебное приложение MyBlog на Java. В качестве операционной системы я использую GNU/Linux Debian Squeeze. Функционал приложения позволит создавать пользователей и помещать посты, а также просматривать созданные данные. С целью уменьшения внешних зависимостей приложение будет реализовано в консольном виде. Все повествование пойдет на основе версии Cassandra 0.7.0 beta1.

воскресенье, 20 сентября 2009 г.

SQL базы данных не масштабируются

Вольный перевод статьи "SQL Databases Don't Scale" Adam Wiggins.
Вопрос, на который я часто отвечаю: "Как вы масштабируете SQL базу данных?". Есть масса вещей, которые я мог сказать об этом: использование кэширования, шардинга и других техник по снятию нагрузки с базы данных. Но реальный ответ: "Не масштабируется". SQL базы данных фундаментально не масштабируемы, и не существует никакой волшебной эльфиской пыли, которой мы или кто-нибудь может посыпать на них, чтобы сделать их масштабируемыми.