PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (22): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 327
antobra Отправлено: 02 Апреля, 2013 - 18:15:03 • Тема: Соединение с Разными БД на одном сервере • Форум: Работа с СУБД

Ответов: 1
Просмотров: 778
Здравствуйте, подскажите

Попробывал соединиться с 2 базами, находящимися на 1 сервере. С первой базой соединение проходит, со второй не проходит. Т.е. в параметрах pg_connect() указаны идентичные данные, за исключением dbname.

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

Спасибо.
antobra Отправлено: 01 Февраля, 2013 - 16:02:48 • Тема: PHP с сокетом • Форум: Администрирование *nix

Ответов: 3
Просмотров: 1209
Через сокет
antobra Отправлено: 01 Февраля, 2013 - 14:45:27 • Тема: PHP с сокетом • Форум: Администрирование *nix

Ответов: 3
Просмотров: 1209
Подскажите плиз,

хочу в nginx прописать выполнение php не через порт, а напрямую. Но при установке в Debian через пакеты нет никаких файлов, которые позволяют работать напрямую. Как в таком случае устанавливать PHP? Или что вообще сделать?

Спасибо.

//upd
упс. Отредактировал, теперь все корректно. Тяжелый день(
antobra Отправлено: 29 Декабря, 2012 - 19:47:34 • Тема: Почему такой запрос не работает? • Форум: Работа с СУБД

Ответов: 2
Просмотров: 869
SAD, Да, это две отдельные таблицы с одинаковыми столбцами. Они были разбиты для того, чтобы не пришлось бегать по большой базе.
В таблице 'a' записи id с 1 по 300000, в 'b' с 300001 по 600000.
antobra Отправлено: 29 Декабря, 2012 - 19:31:33 • Тема: Почему такой запрос не работает? • Форум: Работа с СУБД

Ответов: 2
Просмотров: 869
Здравствуйте!

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT b.id, a.id
  3. FROM base.schema.table1 AS a, base.schema.table2 AS b
  4. WHERE b.id IN (350000, 450000) AND a.id IN (789, 450);


Он выдает 4 строки! Где id=789 два раза и 450 два раза. А из b.id ничего не выводит. В чем проблема? Можно выводить просто через b.id='350000' AND b.id='450000', но этот способ значительно медленней, чем IN (число, число). Проверено миллион раз)))

База PostgreSQL. Подскажите в чем собака зарыта? )

С наступающим!
antobra Отправлено: 18 Декабря, 2012 - 00:36:43 • Тема: hbase или redis • Форум: Администрирование БД

Ответов: 11
Просмотров: 4960
vanicon

Хранимые данные в постгре - это id(serial), varchar и text. Текст.

Сейчас система такая:
Сфинкс ищет по индексу, составленному по постгре и выдает список ID. Потом делается запрос в постгре и цепляются все данные по этим айди. Так вот запросы по списку в постгре пробегают миллионы строк каждый раз. Уходит по 2-4 секунды. Возможно, вы скажете - нормально, но нет, у конкурентов быстрее работает.
antobra Отправлено: 18 Декабря, 2012 - 00:06:22 • Тема: hbase или redis • Форум: Администрирование БД

Ответов: 11
Просмотров: 4960
DeepVarvar пишет:
Берите редиску.
Что значит оператива кончится? Там же в конфиге лимит устанавливается, после которого он принудительно сливает на диск.


Да-да, устанавливается. Я о том, что 300 млн. записей в Postgre весят около 3 Tb, то не трудно посчитать, что серверов с оперативной памятью потребуется много)) и плюс база растет.
(Добавление)
EuGen пишет:
antobra пишет:
300 млн. записей

Это при корректной конфигурации будет очень быстро работать и на MySQL (скорее всего - не берусь утверждать 100%, не видя ни приложения ни бизнес-логики). Благо возможности позволяют.
Я бы рекомендовал использовать связку, а не заменять полностью.


По сравнению с другими ресурсами - да, 300 млн - это маленькая цифра. Но никто ж не знает, сколько приходится обрабатывать SELECT запросов)) (оооч много) Кэширование есть на все результаты, но результаты редко повторяются и поэтому кэш не очень эффективен. Поэтому стоит вопрос о nosql, как о быстром выплевывании результатов.
antobra Отправлено: 17 Декабря, 2012 - 20:05:47 • Тема: hbase или redis • Форум: Администрирование БД

Ответов: 11
Просмотров: 4960
caballero Вопрос был не в этом.
antobra Отправлено: 17 Декабря, 2012 - 19:39:48 • Тема: hbase или redis • Форум: Администрирование БД

Ответов: 11
Просмотров: 4960
caballero пишет:
как это ты собираешся заменить SQL базу на редис?
лучше найди нормального админа чтобы посгрес настроил


"как это ты собираешся заменить SQL базу на редис? "
Это не проблема. Просто займет время.

"лучше найди нормального админа чтобы посгрес настроил"
300 млн. записей и настроить postgres? ахах) Оценил шутку.
antobra Отправлено: 17 Декабря, 2012 - 18:37:57 • Тема: hbase или redis • Форум: Администрирование БД

Ответов: 11
Просмотров: 4960
Приветствую.

Моему коллеге нужен совет. Подскажите кто имел опыт работы с такими базами. Существует проект с применением postgresql, база имеет размер 3 Tb и в ней около 300 млн. строк (в общем количестве).

Скорость работы постгре стала жуткая. Размер не маленький и все задачи сильно тормозят сервера (их несколько). В связи с этим есть идея по смене базы. Есть два варианта. Почему два? Redis - знаком и легкоиспользуемый, а hbase, т.к. его аналог использует гугл и вроде качество.

hbase - аналог используется у гугл с их объемами данных.
redis - знакомая система и вроде как говорят, что довольно шустрая на выдачу и запись.

Вопрос...
Что лучше использовать при таких размерах базы, если она может увеличиться в ближайшие годы до 10 Tb? В огромном приоритете - скорость выдачи. Запись не в приоритете, т.к. осуществляется в определенное время и вовсе не нагружает базу.

Читал, что hbase способен обрабатывать до 1 млн. запроса в сек., redis же до 100 тысяч запросов на запись и в половину от этого меньше на чтение.

Коллеге и мне симпатичен Redis, он проще, удобная и простая репликация, но есть главный минус - если закончится оперативная память, то значит пора добавлять сервер в кластер. В hbase нравится, что аналог применяет крупнейший сайт - гугл, т.е. говорит о качестве, но танцы с бубнами при установке и настройки кластера пугают и пишут, что скорость выдачи медленней, чем у Redis (что опровергает предыдущие данные об обработки в 1 млн. запросов).

Извиняюсь за сумбурный текст, но идея понятна. В вышеописанном случае, что лучше применить? Redis vs HBase
(Добавление)
Да и, то, что hbase распределенная, а Redis - нет, мы в курсе. Это не является проблемой в нашем случае )))
antobra Отправлено: 27 Ноября, 2012 - 01:49:51 • Тема: Update PostgreSQL • Форум: Вопросы новичков

Ответов: 1
Просмотров: 80
Приветствую, позвольте вопросик))

Существуют ли какие-то решения если нужно только добавить текст к полю. Допустим, если необходимо к значению 5 прибавить 2, то это легко сделать через UPDATE, указав SET lala=lala+2 и сумма в базе станет 7. А как быть если есть в поле текст " Привет мир " и мне нужно добавить в это поле " Как дела? ", чтобы стало "Привет мир, как дела". Существует способ, что изымаешь строку из базы, добавляешь через php и апдейтом заменяешь поле. Но хотелось бы узнать, возможно есть другие решения?

Спасибо!
antobra Отправлено: 20 Ноября, 2012 - 10:59:49 • Тема: Подскажите SQL запрос • Форум: Вопросы новичков

Ответов: 7
Просмотров: 263
Спасибо, плюсанул) Ох уж этот SQL))))
antobra Отправлено: 18 Ноября, 2012 - 17:30:42 • Тема: Подскажите SQL запрос • Форум: Вопросы новичков

Ответов: 7
Просмотров: 263
Ребят, понадобилось такая команда...

Есть SQL запрос:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM one.two LIMIT 100


Думаю, что все знают, что выводит данный запрос. А как применить команду, чтобы запрос подобрал каждую (допустим) третью строку при условии, что id могут быть разные и не привяжешь как .

Подскажите? Плюсик в спасибо))
antobra Отправлено: 02 Ноября, 2012 - 13:40:30 • Тема: CURL, если сайт не с кодировкой UTF8 • Форум: Вопросы новичков

Ответов: 1
Просмотров: 191
Коллеги, приветствую!

Возможно кто-то знает пути решения проблемы связанной с CURL и сайтом без UTF8.

Использую следующий класс для парсера нужной страницы

PHP:
скопировать код в буфер обмена
  1.  
  2. class BotLib {
  3.        
  4.         var $curl;
  5.        
  6.         /*
  7.          * CURL options for session
  8.          */
  9.         var $userAgent;
  10.         var $contentEncoding;
  11.         var $connectTimeout;
  12.         var $followLocation;
  13.         var $returnTransfer;
  14.         var $cookieFile;
  15.         var $cookieSession;
  16.        
  17.         public function __construct() {
  18.                 if(!$this->curl = curl_init()) {
  19.                         $this->_crash("Can't initialize CURL library!");
  20.                 }              
  21.         }
  22.        
  23.         public function setCurlOptions($userAgent       = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13',
  24.                                                                       $contentEncoding = 'gzip,deflate',
  25.                                                                       $connectTimeout  = 100,
  26.                                                                       $followLocation  = true,
  27.                                                                       $returnTransfer  = true,
  28.                                                                       $cookieFile      = 'cookiefile',
  29.                                                                       $cookieSession   = true) {
  30.                 $this->userAgent       = $userAgent;
  31.                 $this->contentEncoding = $contentEncoding;
  32.                 $this->connectTimeout  = $connectTimeout;
  33.                 $this->followLocation  = $followLocation;
  34.                 $this->returnTransfer  = $returnTransfer;
  35.                 $this->cookieFile      = $cookieFile;
  36.                 $this->cookieSession   = $cookieSession;                               
  37.         }
  38.        
  39.         public function _getRequest($url) {
  40.                 curl_setopt($this->curl, CURLOPT_URL,            $url);
  41.                 curl_setopt($this->curl, CURLOPT_COOKIESESSION,  $this->cookieSession);
  42.                 curl_setopt($this->curl, CURLOPT_COOKIEFILE,     $this->cookieFile);
  43.                 curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, $this->returnTransfer);
  44.                 curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, $this->followLocation);
  45.                 curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
  46.                 curl_setopt($this->curl, CURLOPT_ENCODING,       $this->contentEncoding);
  47.                 curl_setopt($this->curl, CURLOPT_USERAGENT,      $this->userAgent);
  48.                
  49.                 if($a = curl_exec($this->curl)){
  50.                         return $a;
  51.                 } else {
  52.                         return false;
  53.                 }
  54.         }
  55.        
  56.         public function _postRequest($url, $params) {
  57.                 curl_setopt($this->curl, CURLOPT_URL,            $url);
  58.                 curl_setopt($this->curl, CURLOPT_USERAGENT,      $this->userAgent);
  59.                 curl_setopt($this->curl, CURLOPT_POST,           TRUE);
  60.                 curl_setopt($this->curl, CURLOPT_COOKIESESSION,  $this->cookieSession);
  61.                 curl_setopt($this->curl, CURLOPT_COOKIEFILE,     $this->cookieFile);
  62.                 curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, $this->returnTransfer);
  63.                 curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, $this->followLocation);
  64.                 curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
  65.                 curl_setopt($this->curl, CURLOPT_ENCODING,       $this->contentEncoding);
  66.                 curl_setopt($this->curl, CURLOPT_POSTFIELDS,     $params);
  67.                
  68.                 if($a = curl_exec($this->curl)){
  69.                         return $a;
  70.                 } else {
  71.                         return false;
  72.                 }              
  73.         }      
  74.  
  75. }
  76.  


Это довольно старый и распространенный скрипт в интернете. Страничку с UTF-8 он забирает без проблем, но если кодировка win-1251, то символы становятся не понятными. Как можно решить проблемку?
antobra Отправлено: 16 Октября, 2012 - 15:57:55 • Тема: Массив и удаление • Форум: Вопросы новичков

Ответов: 5
Просмотров: 163
Спасибо). Применил второй вариант)

Страниц (22): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB