Реклама на сайте Advertise with us

Dba cdb

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 07/02/12 в 18:13       Ответить с цитатойцитата 

есть файл 600к строк (можем прочитать через file чтобы получить массив)

кто бы и как записал их в базу cdb?, надо.

последовательными вставками кажется долго.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/02/12 в 14:32       Ответить с цитатойцитата 

вопрос никто не осилит? icon_smile.gif

замерил, 60к уходят в базу за пол-часа

используется Database Abstraction Layer Functions.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/02/12 в 14:33       Ответить с цитатойцитата 

локалка

freebsd 7.3 256mb
apache 2.2
php 5.2.17

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 09/02/12 в 15:05       Ответить с цитатойцитата 

freeek писал:
кто бы и как записал их в базу cdb?, надо.

Что за cdb ?

Вообще открываешь файл, открываешь базу, лочишь таблицы, читаешь построчно и пишешь в базу, потом снимаешь лок с таблицы. Закрываешь файл, базу.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

1
 



С нами с 06.02.12
Сообщения: 11
Рейтинг: 15

Ссылка на сообщениеДобавлено: 09/02/12 в 15:09       Ответить с цитатойцитата 

Не знаю, что за CDB, но есть универсальный способ. Монтируем директорию в оперативную память, останавливаем сервер базы данных (если он есть) и настраиваем его на работу с этой директорией, запускаем. Скорость записи повысится в разы.

Под виндой не знаю как делать, под linux очень просто:

sudo mount -t tmpfs tmpfs /mnt

6
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/02/12 в 15:23       Ответить с цитатойцитата 

это плоские файлы icon_smile.gif

http://cr.yp.to/cdb.html

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 09/02/12 в 15:31       Ответить с цитатойцитата 

ну и изврат. У тебя основную нагрузку будет нести интерфейс работы с cdb, пока он там будет все хешировать и лочить.
Просто прочитать файл в 600к строк займет наверное пару секунд, не дольше.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

3
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/02/12 в 15:49       Ответить с цитатойцитата 

а не жирно будет каждый раз читать файлы по 7мб и что то в нем искать?
cdb по утверждениям работает быстрее чем sqlite, вот и есть желание проверить.

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 09/02/12 в 16:18       Ответить с цитатойцитата 

не понимаю, тебе надо импортировать файл в базу или же работать с ним как с базой ? При чем тут "каждый раз читать файлы по 7мб" ?

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

3
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/02/12 в 16:35       Ответить с цитатойцитата 

да, работать как с базой.

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

0
 



С нами с 06.02.12
Сообщения: 11
Рейтинг: 15

Ссылка на сообщениеДобавлено: 09/02/12 в 17:49       Ответить с цитатойцитата 

Пробовал использовать простые key-value решения, не порадовала скорость записи. Остановился на mongodb, она записываемую информацию кэширует и дампит на диск раз в минуту. А эта cdb-библиотека скорее всего на каждую новую запись делает обращение к диску, отсюда и тормоза. Нужна быстрая скорость: работайте с оперативной памятью. Или монтируйте там файловую систему или используйте ту БД, что хранит всё в памяти: memcached, redis, например.

Я по online-доке толком не понял, что есть cdb (просто key-value или чо-то поизвращённее) но SQL-запросов там точно нет icon_smile.gif

6
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 10/02/12 в 13:10       Ответить с цитатойцитата 

вопрос снят.

из-за невнимательности забыл указать handler (тип базы который хочу использовать) и по умолчанию использовался flatfile, из-за этого запись длилась ну очень долго, часами, потому что flatfile внутри похож на обычный файл +какая то своя информация.

указав нужный handler в лице cdb, файл источник читался равным порциями (по строкам)и записывался в базу.
из файла в 6,7мб получилась база в 21,5мб, все 620к записей ушли в базу за 40 секунд.

выборка по ключу на freebsd 7.3 256mb, apache 2.2 , php 5.2.17 быстрее аналогичной из mysql примерно раз в 5 получается, сильно не уточнял, некогда.


пс: это так, вдруг кому то понадобиться icon_smile.gif

пс: всем спасибо, всех оценил.

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 10/02/12 в 13:28       Ответить с цитатойцитата 

freeek писал:

указав нужный handler в лице cdb, файл источник читался равным порциями (по строкам)и записывался в базу.
из файла в 6,7мб получилась база в 21,5мб, все 620к записей ушли в базу за 40 секунд.

выборка по ключу на freebsd 7.3 256mb, apache 2.2 , php 5.2.17 быстрее аналогичной из mysql примерно раз в 5 получается, сильно не уточнял, некогда.


пс: это так, вдруг кому то понадобиться icon_smile.gif

пс: всем спасибо, всех оценил.


выборка из базы весом в 7мб?
очень интересно, а если база весит под гиг и там 5м строк, будет такой же выигрыш в 5 раз?
напиши плиз, как собирал и настраивал, я бы тоже погонял

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 10/02/12 в 13:35       Ответить с цитатойцитата 

freeek писал:
php 5.2.17 быстрее аналогичной из mysql примерно раз в 5 получается, сильно не уточнял, некогда.


Хоть примерно в числах скажи ? А то у меня что то сомнения по поводу такой скорости. В mysql если кинуть индекс, то тоже все весьма быстро делается.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 10/02/12 в 14:04       Ответить с цитатойцитата 

выборка была по индексированному значению, по сути получается поиск шел по индексу

в среднем 0,0034 против примерно 0,0007, под рукой нет, все вырубил, надо идти, позже конечно более доскональна проверю, так как самому интересно.

по описанию cdb позиционируется как быстрая база для чтения константных данных, пошарив по тырнэтам, вроде довольно быстрая штука. и ее таскать с собой можно icon_smile.gif

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 10/02/12 в 14:06       Ответить с цитатойцитата 

http://cr.yp.to/cdb/install.html здесь инструкции, качаем, инсталируем.

работа через Database (dbm-style) Abstraction Layer Functions, в мануале к пыху есть все что нужно, чтоб работало

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 17/02/12 в 14:00       Ответить с цитатойцитата 

что-то я не могу настроить, базы в 5 метров жрет, а на гиговой виснет процесс

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »