MySQL: простая реплика данных с задержкой на базе rename MySQL

В mysql очень просто реализовать простую реплику с задержкой (например, раз в минуту/пять минут/etc по cron) в таблицу используя двойной rename.

В mysql rename даже на 10 млн записей делается почти мгновенно, причем на время rename база не отдает ложных значений, а ждет отработки rename.


Читать дальше

PHP: работа с БД Oracle используя расширение oci8 в Ubuntu 14.04

Install
Установка расширения Oci8 для работы с БД Oracle.
Ставим pecl.
sudo apt-get install php-pear php-xml php7.0-xml php7.0-dev 
sudo apt-get install pecl
Через pecl ставим Oci8. При установке указываем путь в oracle lib.
sudo pecl install oci8 
instantclient,/usr/lib/oracle/<ver>/client64/lib
Добавляем extension в php.ini.


Читать дальше

Oracle DB: автоматизация запуска SQL скрипта

Простой запуск скрипта через sqlplus:
sqlplus <conn>
SQL > @/oracle/scripts/script.sql
Для автоматизации запуска SQL скрипт без проблем запускается через .sh скрипт, а там уже ничего не стоит добавить в cron:
bin/sql_script_starter.sh
#!/bin/bash
sqlplus <conn> << EOF
@/oracle/scripts/script.sql 
exit; 
EOF


Читать дальше

Postgres разные хинты

Установка

Установка postgres на ubuntu 14.04

sudo apt-get install postgresql postgresql-contrib

Если postgresql используется в связке с php, то обязательно нужно установить модуль php с поддержкой postgresql, после этого перезагрузить apache. В противном случае ничего работать не будет.

Wiki выдает:
(Can't contact the database server: Postgres functions missing, have you compiled PHP with the --with-pgsql option?


Читать дальше

Создание и просмотр пользователей MySQL

Создаем пользователя с полными правами на базу cacti (первая строка) или на все базы (вторая) и обновляем привилегии:

mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
mysql> GRANT ALL ON *.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
mysql> flush privileges;

Смотрим пользователей для базы:

mysql> use wordpress;
mysql> SELECT User,Host FROM mysql.user;
+-----------+-----------+
| User | Host |
+-----------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| wordpress | localhost |
+-----------+-----------+
4 rows in set (0.00 sec)


Читать дальше

Excel: использование функции ВПР

Общее

В Excel есть полезная функция – ВПР. Позволяет на основе списка неких идентификаторов извлечь из таблицы значения атрибутов этих идентификаторов.

Сравнение ВПР с другими вариантами решения задачи:

  • ВПР – подходит для небольших объемов данных. По опыту попытка получения данных по 100к значениям в таблице из 300к строк требовала неимоверное время для расчета и в результате пришлось решать задачу по-другому. 


Читать дальше

HP LoadRunner

HP LoadRunner – утилита для нагрузочного (как я понял и не только) тестрования. С помощью нее можно создавать разные запросы на сайт/приложение/БД и анализировать отдачу. Можно писать скрипты. Бесплатная лицензия на 50 пользователей.

Читать дальше

MySQL view

View (представление) – создание динамической таблицы на основе запроса в другую таблицу.  View автоматически апдейтиться при апдейте основной таблицы. Я использовал view когда нужно было чтобы данные из одного, использующего свою БД проекта, были видны в другой БД. Разные БД в этом случае обязательны т.к.

Читать дальше

Методы установки приложений

  • Через средство управления пакетами ОС (Ubuntu: apt-get, CentOS: yum, Gentoo: emerge). Пакет чаще всего имеет не последнюю версия приложения/компилятора (ruby, phantomjs), но она гарантированно stable и легко ставится.
Для установки приложений в среде операционной системы GNU/Linux лучше всего пользоваться средствами управления пакетами вашего дистрибутива.


Читать дальше