Автор Тема: Открытие DB во flatfile и поиск! С условиями!  (Прочитано 10351 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Открытие DB во flatfile и поиск! С условиями!
« Ответ #15 : 02 Августа 2004, 13:27:28 »
--- Вопрос в том, как выбирать размер блока, который будет открываться каждый раз?
--- И если открыть файл на произвольном байте, то можно искомый адрес, допустим, разбить на две части, тогда как искать?
--- И как эти потоки запустить одновременно?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #16 : 02 Августа 2004, 13:33:10 »
Цитировать
KiLLjoY aka SerZH:
Вопрос в том, как выбирать размер блока, который будет открываться каждый раз?

зная общую длинну можно разбить его хоть на сто частей.
Цитировать
KiLLjoY aka SerZH:
И если открыть файл на произвольном байте, то можно искомый адрес, допустим, разбить на две части, тогда как искать?

может, даже будет. писать обработчик такой ситуации.
Цитировать
KiLLjoY aka SerZH:
И как эти потоки запустить одновременно?

доки читать:
http://search.cpan.org/~nwclark/perl-5.8.4/ext/threads/threads.pm
The documentations is your friend

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Открытие DB во flatfile и поиск! С условиями!
« Ответ #17 : 02 Августа 2004, 23:20:20 »
> Я же сказал индекс отпадает!

А без индекса никак. 2 гига по любому будут читаться более 10 секунд. Почему тот скрипт, который обновляет файл не может перстраивать индекс?

Как именно обновляется файл - новые записи просто дописываются в конец? Тогда индекс перестраивать не нужно, нужно просто добавить в конец индекса новую позицию. А если какие-то записи удаляются из середины файла, то данная операция сама по себе занимает столько времени, что и полная перестройка индекса тут ничем не помешает.

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #18 : 03 Августа 2004, 07:54:46 »
KiLLjoY aka SerZH, а эта задачка вообще то практический смысл будет иметь? Или это все из разряда чистой теории?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Открытие DB во flatfile и поиск! С условиями!
« Ответ #19 : 03 Августа 2004, 11:44:20 »
Читаем последний пост NeoNox\'a он оказался прав...
Практическое значение.. хм... огромнейшее, особенно с интернет, т.к. как к файлу одновременно может обратиться 2-100 и.т.д. человек!
--- Короче - потоки это сила!

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Открытие DB во flatfile и поиск! С условиями!
« Ответ #20 : 03 Августа 2004, 13:36:54 »
Тратить 10 секунд на простейшую операцию доступа к данным по уникальному ключу (на которую и 0.1 сек. много) - что-то мне подсказывает, что это тупиковое решение и через полгода все равно придется переписывать.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #21 : 03 Августа 2004, 14:05:45 »
КшЫуфксрук согласен.

KiLLjoY aka SerZH у тебя сервер упадет при порождении 10000 процессов.
The documentations is your friend

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Открытие DB во flatfile и поиск! С условиями!
« Ответ #22 : 03 Августа 2004, 14:38:29 »
А кто сказал, что я буду столько потоков открывать....?
Так же сервер упадёт при загрузке памяти и также если процесс будет занимать больше 10с, так что здесь нужна золотая середина!

Её поиском я и занимаюсь!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #23 : 03 Августа 2004, 14:50:20 »
>Её поиском я и занимаюсь!
Херней ты занимаешься, извини уж.
Упорядочи данные и будь счастлив.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн KiLLjoY aka SerZH

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Открытие DB во flatfile и поиск! С условиями!
« Ответ #24 : 03 Августа 2004, 14:53:56 »
хех... да не будет там упорядочивания данных...
Да и представь процечч сортровки...ыгыг... я бы посмотрел сколько бы этот процесс занял!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #25 : 03 Августа 2004, 14:56:37 »
Цитировать
KiLLjoY aka SerZH:
я бы посмотрел сколько бы этот процесс занял!

Я думаю, что не более того времени которое ты затратишь на поиски той самой золотой середины.
И все таки, чем же его редактируют, этот файл?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Открытие DB во flatfile и поиск! С условиями!
« Ответ #26 : 03 Августа 2004, 16:19:19 »
Да не нужно сортировать данные. Индекс должен быть отсортирован и хранить позиции записей для каждого ID.

И действительно, ты до сих пор не сообщил, кто и как редактирует этот файл и сколько времени занимает перезапись 2-гигабайтного файла.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Открытие DB во flatfile и поиск! С условиями!
« Ответ #27 : 03 Августа 2004, 16:27:30 »
КшЫуфксрук вероятно ничего не занимает.
open FH, ">>", \'./file\'; операция практически мгновенная на любом размере файла.
The documentations is your friend

Оффлайн КшЫуфксрук

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 99
  • +0/-0
  • 0
    • Просмотр профиля
    • http://risearch.org/
Открытие DB во flatfile и поиск! С условиями!
« Ответ #28 : 03 Августа 2004, 16:57:30 »
NeoNox так ведь я ранее писал, что если файл только дописывается в конец, то индекс перестраивать не нужно, а также нужно в конец индекса добавить новые указатели на новые данные - операция не менее мгновенная. А если же данные удаляются из середины файла, то перезапись файла займет столько времени, что перестройка индекса на фоне этой операции займет не так уж много времени.

В общем, пока не прозвучало ни одного аргумента, почему же ни в коем случае невозможно использовать хоть какое-нибудь примитивное подобие индекса.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28