The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

SQL и базы данных

   Корень / Программисту и web-разработчику / SQL и базы данных
MySQL специфика [16]
Оптимизация и администрирование MySQL [36]
PostgreSQL специфика [26]
PlPerl и PlSQL [6]
Оптимизация и администрирование PostgreSQL [29]

----* Организация мульти-мастер репликации двух memcached-серверов (доп. ссылка 1)   [комментарии]
  Для организации автоматической репликации данных между двумя серверами memcached (http://memcached.org/) можно использовать набор патчей http://repcached.lab.klab.org/ . Система поддерживает мульти-мастер режим и реплицирует данные в асинхронном режиме, поддерживаются все команды memcached (set, add, delete, incr/decr, flush_all, cas).
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Установка интегрированной среды TOra с поддержкой Oracle в Ubuntu 8.10 (доп. ссылка 1) (доп. ссылка 2)   Автор: Waster  [комментарии]
  TOra (http://tora.sourceforge.net) "Toolkit for Oracle" - полноценная IDE для работы с такими СУБД, как Oracle, MySQL, PostgreSQL.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Сравнение таблиц на удаленных серверах PostgreSQL   Автор: Тормал  [комментарии]
 
Пришлось придумать как сравнить довольно таки объемные таблицы на предмет
одинаковости данных в заданном поле.
Сравнивать построчно слишком долго и накладно таскать эти объемы по сети. 
Выход посчитать md5 сумму по колонке для всех значений.

Для этого выбираем поле по которому будем сравнивать, поле должно быть независимым от серверов. 
Делаем из него blob, и считаем md5.

Пример: есть таблица A и поле B.

   select md5(array_send(array(select B from A order by 1))) as md5;

после это сравнив md5 суммы с обоих серверов можно утверждать об одинаковости набора данных.
 
----* Изменение текущего часового пояса в MySQL, PostgreSQL и в скриптах   [комментарии]
  MySQL:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Установка клиента Oracle в Solaris без использования графического интерфейса (доп. ссылка 1)   Автор: Kovalchuk Egor  [обсудить]
  На официальном сайте Oracle присутствует небольшое руководство по установке в Solaris без использования графического интерфейса, при этом оно сводится к тому, что нужно запустить скрипт под графическим интерфейсом с дополнительными параметрами.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как организовать выборку ключа по условию больше или равно в BerkeleyDB   [обсудить]
  Задача: выбрать запись с ключем большим или равным искомому, т.е. организовать выборку по промежутку значений:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как сохранить данные в базе данных в сжатом виде. (доп. ссылка 1)   [комментарии]
 
Для MySQL есть утилита myisampack или самое простое, своими силами данные, 
перед помещением в базу, сжимать и разжимать (функции COMPRESS() и UNCOMPRESS()).

В PostgreSQL для хранения текстовой информации в сжатом виде предусмотрен тип данных "lztext".

Можно сжатие данных возложить на плечи файловой системы, для linux и freebsd 
есть возможности для прозрачного сжатия.
 
----* Типы хранилищ и возможности Berkeley DB   [комментарии]
 
Berkeley DB позволяет эффективно организовать хранилище пар вида ключ/значение. 
Типы хранилища:
  Hash - хэш, выборка по точному значению
  Btree - сбалансированное дерево, выборка по точному значению или >=.
  Recno - для хранения индексированных массивов.
  Queue - оптимизировано для очередей, где чаще всего запрашивают элементы верхушки или низа.

В версиях от 2 и выше, поддерживаются средства одновременного апдейта базы, локов, 
транзакций, "курсоров", восстановления поврежденного хранилища.
 
----* Как в SQL запросе осуществить преобразование время минус число.   [обсудить]
 
mytime - timestamp поле
myint - integer поле
SELECT mytime - interval (myint) FROM sometable;
 
----* маленькая заметка к возрастающим ключам   Автор: Yuri A. Kabaenkov  [обсудить]
 
в последних версиях pgsql существует тип данных serial
которой автоматически создает последовательность.
тоесть CREATE TABLE test (
     a serial
);
 

 Версия для печати




  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor TopList