[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Что выбрать файл или база данных?
Bossmen
Возник такой вопрос что выбрать хранить в файле или в базе ?
И что быстрей?



Спустя 1 минута, 28 секунд (13.01.2011 - 16:12) linker написал(а):
База данных однозначно.

Спустя 1 минута, 7 секунд (13.01.2011 - 16:13) Bossmen написал(а):
Почему ? в чем разница

Спустя 2 минуты, 46 секунд (13.01.2011 - 16:16) Snus написал(а):
linker
Да, почему? Интересно...

Спустя 57 секунд (13.01.2011 - 16:17) LRCenter написал(а):
Щас в меня полетят камни и палки, может быть меня даже распнут на логотипе этого форума, но я выбираю файлы.

Спустя 33 секунды (13.01.2011 - 16:18) linker написал(а):
Быстро, удобно и прочее. Слишком много чтобы перечислять.

Спустя 57 секунд (13.01.2011 - 16:19) LRCenter написал(а):
А корректней их было-бы называть так http://en.wikipedia.org/wiki/Flat_file_database

Спустя 38 секунд (13.01.2011 - 16:19) Bossmen написал(а):
А вот такой гигант как Google выбирает файлы, потому что быстрей))

Спустя 1 минута, 20 секунд (13.01.2011 - 16:20) LRCenter написал(а):
Хотя считается что сравнивать не корректно, ведь внутри SQL те же файлы, а сам язык просто средство для работы с ними.

Спустя 49 секунд (13.01.2011 - 16:21) linker написал(а):
Bossmen
Так у них и на PHP вряд ли что-либо написано. Связка PHP+Database работает быстрее и удобнее, нежели PHP+File

Спустя 36 секунд (13.01.2011 - 16:22) LRCenter написал(а):
Такой гигант как я тоже выбирает файлы, но вопрос в хорошей библиотеке для работы с данными. Что-бы было быстро, удобно и главное надежно smile.gif

Спустя 37 секунд (13.01.2011 - 16:23) Snus написал(а):
linker
А я не соглашусь с тобой. В последнем проекте мне стояла задача загружать excel-файлы, парсить и сохранять нужную информацию для дальнейшей обработки. А как хранить XLS на сервере для удобного парсинга? Правильно - в массиве. Вот тут файлы и победили. smile.gif serialize + base64_encode правят миром.

Спустя 3 минуты, 27 секунд (13.01.2011 - 16:26) Bossmen написал(а):
в базе иногда приходиться создавать новый таблицы, а в файле все можно запихнуть ))одним разом например друзья пользователя

Спустя 45 секунд (13.01.2011 - 16:27) LRCenter написал(а):
SQL - это стандарт и хорошая традиция, а как известно - "Лучшее - враг хорошего".

Спустя 1 минута, 18 секунд (13.01.2011 - 16:28) linker написал(а):
Не путай тут разные смыслы, одно дело перевалочный пункт, другое дело агрегация данных. Если бы я свой фотоархив на тонны гигабайт хранил в файлах, то сервак бы умер уже при запуске.
Цитата
в базе иногда приходиться создавать новый таблицы, а в файле все можно запихнуть ))одним разом например друзья пользователя
а потом корячится и совершать финты ушами, где друзья, где юзвери, на форуме всплывают вопросы, а как распарсить файл с данными, а как удалить нужную строчку из файла, а как найти нужно юзверя среди миллиона в одном файле и прочее и прочее. В результате вырастают монструозные сайты, которые практически не работают, а только и делают что перемалывают тонны текстовой информации от чего дисковая система проседает по иопсам и в конце-концов все падает. Тогда начальство не выдерживает и приглашает специалистов, которые разгребают эту кучу говна, а самое интересно отсылают на www.govnokod.ru

Спустя 1 минута, 19 секунд (13.01.2011 - 16:29) Snus написал(а):
Bossmen
В базе тоже так можно делать, просто достаточно немного мозгами пораскинуть. Вообще вполне достаточно 1 - 3 таблиц для функционального сайта. В одной таблице можно хранить всю информацию, касающеюся юзверей к примеру.

Пример:

ID | PARAM | VALUE
1 | login | fuckinLogin
1 | fio | Педрос

Ну вы поняли...

Спустя 3 минуты, 50 секунд (13.01.2011 - 16:33) LRCenter написал(а):
Snus конечно, я примерно так и делаю. Более того весь язык простых запросов нетрудно написать и не зависить не от каких sql.

Спустя 3 минуты, 4 секунды (13.01.2011 - 16:36) Snus написал(а):
linker
Я всего-лишь хотел сказать, что с большим потоком данных лучше все-таки смотреть в сторону файлов.

А что касаемо фотографий - тут безусловно лучше хранить данные в мускуле, там писюков-то всего-ничего - Id, pathToImg, date ну и возможно tmp_name и file name

Мускул имеет ограничение на количество записываемой информации в таблицу (точнее в ячейку) , к примеру мой массив в 100 000 позиций напрочь отказывался записывать. А файлу хоть триллион запиши - ему от этого холоднее не станет.

Спустя 8 минут, 7 секунд (13.01.2011 - 16:44) linker написал(а):
Snus
С большим потоком данных лучше вообще переходить на Си и иные базы данных, нежели MySQL.

Спустя 2 минуты, 52 секунды (13.01.2011 - 16:47) Snus написал(а):
linker
Зачем? PHP и MyQL отлично справляются. Это все равно, что сказать плавцу - не можешь получить золото на соревнованиях - иди занимайся боксом.

Спустя 9 минут, 58 секунд (13.01.2011 - 16:57) LRCenter написал(а):
linker
Но для простых проектов, без гектаров в одной ячейке (99% сайтов) SQL всеже излишне наворочен.

Спустя 1 минута, 18 секунд (13.01.2011 - 16:58) linker написал(а):
LRCenter
Для сайтов-визиток согласен, для хоумпагов аналогично, для всего остального более или менее серьезного - разумно использование базы данных.

Спустя 3 минуты, 51 секунда (13.01.2011 - 17:02) LRCenter написал(а):
linker разумно-то разумно, вопрос каких? Та же SQLite, и ей подобные библиотеки, куда интереснее неповоротливого mySQL-я.


Смотри какая подборочка http://www.cmsbezmysql.ru/ ,и это тенденция.
Красота! wink.gif

Спустя 12 минут (13.01.2011 - 17:14) linker написал(а):
Фигли лясы точить, слабо на файликах получить данные, которые можно получить используя следующий SQL-запрос в MySQL
SELECT 
`Objects`.`Id`, `Objects`.`Name`, `Publications`.`PublicationCaption`, `Issues`.`IssueCaption`, `States`.`StateCaption`, `Users`.`UserFullName`,
DATE_FORMAT(`Objects`.`ObjectCreated`, '%d.%m.%Y %H:%i:%s'),
DATE_FORMAT(`Objects`.`ObjectModified`, '%d.%m.%Y %H:%i:%s')
FROM
`Objects`
LEFT JOIN `Publications` ON `Publications`.`Id` = `Objects`.`ObjectPublication`
LEFT JOIN `Issues` ON `Issues`.`Id` = `Objects`.`ObjectIssue`
LEFT JOIN `States` ON `States`.`Id` = `Objects`.`ObjectState`
LEFT JOIN `Users` ON `Users`.`Id` = `Objects`.`ObjectModifier`
LEFT JOIN `Features` ON `Features`.`Id` = `Objects`.`ObjectFeature`
WHERE
`Objects`.`ObjectType` = 'Layout'
ORDER BY
`States`.`StateOrder` ASC, `Features`.`FeatureOrder` DESC
???

Спустя 2 минуты, 42 секунды (13.01.2011 - 17:17) hellmin написал(а):
linker, золотые слова!
а вот про SQLite
  • не рекомендован для баз большого размера (эксперты не рекомендуют более 200 Мб);
  • есть только два типа данных – целое автоинкримент и строка (всё остальное – эмулируется через строки);
  • не предназначен для многопользовательского использования (хотя это и возможно).
И это относится к работе с файлами. Те же самые проблемы.

Спустя 2 минуты, 48 секунд (13.01.2011 - 17:20) LRCenter написал(а):
linker
Такие страсти не часто увидишь, это как раз 1% huh.gif


hellmin
Не представляю себе на рядовом сайте БД больше 200Мб.

Спустя 1 минута, 9 секунд (13.01.2011 - 17:21) linker написал(а):
LRCenter
Это банальщина, ты думаешь в каком-нибудь инет-магазине нет что-то подобного? Ошибаешься. Интересно, сколько весит база этого форума? И как бы стабильно и быстро он работал, используй он файлики.

Спустя 4 минуты, 8 секунд (13.01.2011 - 17:25) LRCenter написал(а):
Такие выборки в банальном магазе не встретишь. Яндекс-маркет какой-то biggrin.gif biggrin.gif

Спустя 2 минуты, 38 секунд (13.01.2011 - 17:28) ИНСИ написал(а):
не пойму о чем спор?????? Люди, если вы считаете что использовать файлы, куда лучше БД, ИДИТИ УЧИТЕ ХОТЯ БЫ ПОПОВА!!!!!! Он хоть в этом верно поступил, использует БД!!!!

linker удивляюсь, как у тебя еще терпение хватает доказывать ...... smile.gif

Спустя 1 минута, 28 секунд (13.01.2011 - 17:29) LRCenter написал(а):
linker
Во первых не обязательно все хранить в одном файле. Для каждой ветки форума может быть один файл, или для каждой темы, например.

А интересно правда сколько весят БД этого форума?

Спустя 2 минуты, 5 секунд (13.01.2011 - 17:31) LRCenter написал(а):
Ну вот, начались грубости sad.gif
Простите, но в таком не участвую.

Спустя 27 секунд (13.01.2011 - 17:32) linker написал(а):
LRCenter
Хорошо упростим ситуацию
SELECT 
`Tovars`.`Id`, `Tovars`.`TovarName`, `Categories`.`CategoryName`
FROM
`Categories`
INNER JOIN `Tovars` ON `Tovars`.`TovarCat` = `Categories`.`Id`
WHERE
`Tovars`.`TovarCount` > 0
ORDER BY
`Categories`.`CategoryName` ASC, `Tovars`.`TovarName` ASC
или тоже сложно для простого сайта?

Спустя 1 минута, 6 секунд (13.01.2011 - 17:33) linker написал(а):
Цитата (LRCenter @ 13.01.2011 - 17:31)
Ну вот, начались грубости sad.gif
Простите, но в таком не участвую.

Забей, не отвлекайся.

Спустя 15 минут, 4 секунды (13.01.2011 - 17:48) LRCenter написал(а):
linker
На чем ты хочешь чтоб я сделал выборку? На простом php?

Прокоментируй пожалуйста sql-запрос (я плохо знаю sql-семантику).

Спустя 2 минуты, 9 секунд (13.01.2011 - 17:50) Snus написал(а):
welbox2
В общем - для каждой задачи свой подход. Для обыденных случаев - БД естественно лучше, тут и вариантов быть не может. Но бывают моменты, когда Файлы использовать куда продуктивнее.

Спустя 4 минуты, 50 секунд (13.01.2011 - 17:55) linker написал(а):
В моем случае весь код будет таким
mysql_connect(...);
mysql_select_db(...);
$resource = mysql_query($query);
while($data = mysql_fetch_assoc($resource))
{
echo "...";
}
Сей запрос выгребает из базы название категории товаров, название товара и его идентификатор. Причем, не выгребаются категории, в которых нет товаров и не выгребаются товары, которые имеют нулевое количество на складе. При этом результат сортируется по названию категории в алфавитном порядке и по названию товаров в категории тоже в алфавитном порядке. Хочу видеть реализацию сего на файликах.

Спустя 6 минут, 41 секунда (13.01.2011 - 18:02) Snus написал(а):
Цитата (linker @ 13.01.2011 - 14:55)
В моем случае весь код будет таким
mysql_connect(...);
mysql_select_db(...);
$resource = mysql_query($query);
while($data = mysql_fetch_assoc($resource))
{
echo "...";
}
Сей запрос выгребает из базы название категории товаров, название товара и его идентификатор. Причем, не выгребаются категории, в которых нет товаров и не выгребаются товары, которые имеют нулевое количество на складе. При этом результат сортируется по названию категории в алфавитном порядке и по названию товаров в категории тоже в алфавитном порядке. Хочу видеть реализацию сего на файликах.

А зачем реализовывать банальную выборку на файлах?!

Спустя 33 секунды (13.01.2011 - 18:02) LRCenter написал(а):
А структура БД?

Спустя 2 минуты, 36 секунд (13.01.2011 - 18:05) linker написал(а):
Snus
Я хочу видеть, что файлики лучше чем бд.

LRCenter
Структура здесь не важна.

Спустя 11 секунд (13.01.2011 - 18:05) Snus написал(а):
linker
Ровно также как я тебя попрошу реализовать сохранение 1000 строк в каждой строке по 60 позиций. Другими словами массив вида:

   0 =>
0 => 0
1
=> 1
2
=> 2
...
1 =>
0 => 0
1
=> 1
2
=> 2
...


и тд...

Спустя 1 минута, 1 секунда (13.01.2011 - 18:06) linker написал(а):
Snus
Не понял ничего.

Спустя 2 минуты, 5 секунд (13.01.2011 - 18:08) Snus написал(а):
Цитата (linker @ 13.01.2011 - 15:06)
Snus
Не понял ничего.

Я все о тех же тараканах. Нужно сохранить эксель в (твоем случае) в мускуле, чтобы иметь доступ к любой из ячеек экселя. В экселе 1000 строк по 60 столбцов. Как ты это реализуешь?

Спустя 2 минуты, 28 секунд (13.01.2011 - 18:10) LRCenter написал(а):
linker
С удовольствием сделаю это, но только чуть позже, используя свою собственную библиотеку (заодно будет стимул ее дописать, а то все лень). Не закрывайте тему!

Спустя 1 минута, 14 секунд (13.01.2011 - 18:12) linker написал(а):
Нахрена мне нужно хранить значения из экселя, если есть эксель. Чем таблица эксель отличается от таблицы базы данных?

LRCenter
А сколько строк кода в твоей библиотеке? У меня всего 7 с учетом {} и без всяких библиотек.

Спустя 3 минуты, 49 секунд (13.01.2011 - 18:16) LRCenter написал(а):
linker
А сколько строк в mySQL? smile.gif Думаю мег на 10-15 потянет.

Посмотрим еще что ресурсов жрать меньше будет wink.gif
И работать быстрее!

Спустя 2 минуты, 49 секунд (13.01.2011 - 18:18) Snus написал(а):
Цитата (linker @ 13.01.2011 - 15:12)
Нахрена мне нужно хранить значения из экселя, если есть эксель. Чем таблица эксель отличается от таблицы базы данных?

А теперь представь работу таможни. Клиент присылает Эксель-файл с 1000 позиций по 60 строк (строки в хаотичном порядке), сотрудник таможни должен вручную их вбивать, а потом рассчитывать стоимости и тд... (не важно) , так вот. Передо мной стояла задачи автоматизировать работу наших сотрудников. Они загружают файл, обозначают какая колонка чего означает (код ТН ВЭД и тд) и дальше начинает работать с ней. Цены проставляются автоматически исходя из кода и страны (полученных из экселя). Как ты реализуешь последнее действие? И все это нужно хранить в стандартизированном виде, но ты не забывай, что клиент присылает файл с хаотически расположенными столбцами и там только половина из того, что должно быть на выходе.

Спустя 2 минуты, 2 секунды (13.01.2011 - 18:20) linker написал(а):
Ты видимо не представляешь для чего нужна таки БД. В твоем случае пришел эксель, обработали и поминай как звали. БД - база данных - система долговременного/постоянного хранения данных.

Спустя 2 минуты, 28 секунд (13.01.2011 - 18:23) LRCenter написал(а):
Ну и холивары тут заварились biggrin.gif

Спустя 2 минуты, 1 секунда (13.01.2011 - 18:25) Snus написал(а):
Цитата (linker @ 13.01.2011 - 15:20)
Ты видимо не представляешь для чего нужна таки БД. В твоем случае пришел эксель, обработали и поминай как звали. БД - база данных - система долговременного/постоянного хранения данных.

Это ты не понимаешь. Всю историю и в том числе сами данные ЭТИ нужно хранить долго. Они многут снова понадобиться через 3 месяца, например.

Спустя 1 час, 57 минут, 43 секунды (13.01.2011 - 20:23) linker написал(а):
Snus
Какая посещаемость ресурса? Один-два оператор-таможенник в сутки?

Спустя 32 минуты, 10 секунд (13.01.2011 - 20:55) Bossmen написал(а):
Я думаю, база лучше, и с ей проще обращаться чем с файлом, так что я за БД

Спустя 12 часов, 55 минут, 34 секунды (14.01.2011 - 09:50) hellmin написал(а):
Snus
Чтобы хранить твои значения в базе хватит одной ячейки text, просто массив полученный из файла обработать функцией serialize и жить спокойно.

Спустя 43 минуты, 8 секунд (14.01.2011 - 10:33) Snus написал(а):
linker
40 сотрудников. Этим скриптом пользуются не меньше, чем Альтой и Бизнес-ПРО

hellmin
Внимательнее прочитай мои предыдущие посты. Так сказано было, что не возможно в TEXT запихнуть такой объем, в MySQL есть ограничение.

Спустя 5 минут, 56 секунд (14.01.2011 - 10:39) LRCenter написал(а):
Да ладно ребят, хорош войны религиозные тут устраивать wink.gif
Вот я в конце месяца представлю библиотеку, тогда проведем состязание, сравним данные.
Заодно подскажите что оптимизировать можно.

Спустя 5 минут, 15 секунд (14.01.2011 - 10:45) linker написал(а):
Snus
Там есть типы полей LONGTEXT и LONGBLOB.

Спустя 4 минуты, 4 секунды (14.01.2011 - 10:49) Snus написал(а):
linker
Вот тогда становится вопрос - что быстрее и лучше? Использование longtext в MySQL, да с таким потоком данных - мускул просто задохнется. Его лучше использовать для более практичных решений: пользователи, товары, страны и тд...

Спустя 3 минуты, 44 секунды (14.01.2011 - 10:52) linker написал(а):
Snus
А ты проверял?

Спустя 7 минут, 27 секунд (14.01.2011 - 11:00) Snus написал(а):
linker
А ты как сам думаешь? smile.gif

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

Спустя 2 минуты, 13 секунд (14.01.2011 - 11:02) Renden написал(а):
Snus
Знаешь, кода я незнал вообще что такое правильная база, таблица, и что такое правильный и хороший запрос которым можно убрать 50% лишнего пхп кода, я тоже был за файлики, теперь без БД жить не могу.
и кстати, по поводу обьемов MySQL
Цитата

MySQL 3.23+ : До 8 миллионов терабайт. (2 ^ 63)

Размер таблицы ограничен её типом. В общем случае тип MyISAM ограничен предельным размером файла в файловой системе операционной системы. Например в NTFS этот размер теоретически может быть до 32 эксабайт. В случае InnoDB одна таблица может храниться в нескольких файлах, представляющих единое табличное пространство. Размер последнего может достигать 64 терабайт.

Спустя 3 минуты, 3 секунды (14.01.2011 - 11:05) Snus написал(а):
Renden

TEXT - 65535 символов
TINYTEXT - 255 символов
MEDIUMTEXT - 16777215 символов
LONGTEXT - 4294967295 символов
CHAR - 1-255 символов


Слышал о таком?

Спустя 3 минуты, 35 секунд (14.01.2011 - 11:09) linker написал(а):
Snus
И что? Это размеры типов полей. У тебя много эксельников с размером более 4 гигабайт? Какой у тебя средний размер массива в байтах(килограмм, метров, гигов)?

Спустя 1 минута, 52 секунды (14.01.2011 - 11:11) Renden написал(а):
Snus
Ага и еще varhar и также числовые значения типа int, bigint но извени меня в 1 ячейку смысл записывать такое количество информации, база для того и нужна чтоб все было по полочкам.

Спустя 3 минуты, 51 секунда (14.01.2011 - 11:14) Snus написал(а):
linker

Ну вот, запиши около 1000 таких ExcelBody и поработай одновременно на 40 компах


function genTable($rows = 400, $cols = 50){
for($i = 0; $i <= $rows; $i++){
for($i2 = 0; $i2 <= $cols; $i2++){
$ExcelBody[$i][$i2] = $i.$i2;
}
}

return $ExcelBody;
}

$ExcelBody = genTable(10000, 100);

Спустя 12 минут, 25 секунд (14.01.2011 - 11:27) linker написал(а):
Ты фанат, на один массив только 100 метров памяти уходит, а это не считая того, что есть еще эксель и либа которая работает с этим экселем и тоже выжирает памяти немеряно. 40 человек да при таких аховых объемах, видимо у таможни хорошие серваки, либо кто-то лукавит.

Спустя 2 минуты, 39 секунд (14.01.2011 - 11:30) Snus написал(а):
linker
Ну приврал, это и коню понятно. Файлы идут примерно от 100 до 1000 строк по 40 - 50 столбцов. Потом большой, один сотрудник за день загружает около 3 - 5 таких файлов и сцуко активно с ними работает.

Спустя 4 минуты, 8 секунд (14.01.2011 - 11:34) linker написал(а):
Нахрена их куда-то грузить, когда можно открыть в экселе и работать с ними? Visual Basic там есть, можно хреначить автоматизацию почище чем на вебе, да и дешевле выйдет.

Спустя 1 минута, 4 секунды (14.01.2011 - 11:35) Snus написал(а):
linker
Нельзя, серваке в Германии стоят, а расчетчики в Москве.

Спустя 6 минут, 5 секунд (14.01.2011 - 11:41) linker написал(а):
Бабло отмывают?
Взял файл в Москве, открыл у себя в экселе, запустил макрос, писанный на Visual Basic и получил результат.

Спустя 2 минуты, 8 секунд (14.01.2011 - 11:43) Snus написал(а):
linker
Такой ты простой smile.gif Ты себе слабо представляешь, что такое таможня. А откуда макрос будет брать цены, коды и описания к товарам? Декларация, сертификации и тд? При том, что это закрытая и закодированная информация? smile.gif

Спустя 7 минут, 41 секунда (14.01.2011 - 11:51) LRCenter написал(а):
Цитата
для обыденных задач - естественно Мускул выигрывает по всем параметрам


Ну уж не по всем, геморроя с переносом sql куда больше чем с flat-file, да и падают sql-сервера частенько, процентов 50 отказов работы сайтов как минимум из-за sql. А у файлов и падать нечему, пока работает сервер + php (или другой язык) сайт работает.

Насчет производительности тоже поспорить можно, только для этого нужны готовые решения и секундомер, чего уж тут голословно спорить dry.gif

Насчет простоты согласен - sql проще, но это во многом вопрос привычки, и качества библиотеки заменяющей sql.

Транзакции и защиту данных на flat-file тоже реализовать можно вопреки мнению многих, что-то написать придется, а для чего-то в php уже есть готовые решения - LOCK_EX, например.

Спустя 6 минут, 34 секунды (14.01.2011 - 11:57) linker написал(а):
Я не знаю как работает таможня, но и ты не представляешь что есть VB сейчас.

Спустя 1 минута, 49 секунд (14.01.2011 - 11:59) LRCenter написал(а):
Походу, я в глухом игноре у господ smile.gif

Спустя 1 минута, 5 секунд (14.01.2011 - 12:00) Snus написал(а):
linker
Проект не должен зависить от локальной машины (имею ввиду ПО на локальной машине). Он должен быть кросс-браузерным и доступным с любого компа и любой точки земли. Хоть об бабы зины из Хрюпинска. Организуешь макросами?

Спустя 3 минуты, 22 секунды (14.01.2011 - 12:03) linker написал(а):
LRCenter
С файлами существуют следующие проблемы:
1. Прогиб дисковой системы по иопсам.
2. Гемморой великий при одновременном доступе.
3. Сложность выборки данных, добавления, редактирования, удаления и т.п.
4. Высокая нагрузка на PHP, т.к. Мускул по-любому работает быстрее, чем тоже самое сделанное на PHP.
5. Куча всего еще.

А ты не в курсе, что база данных - это папка на диске. А таблица в базе данных - это простой файлик. А теперь подумай на счет геммороя по переносу данных.

Snus
А что, у нас в таможенниках работают бабы Зины из Хрюпинска? Есть такая бойда, называется грубо говоря терминал, т.е. большой сервак, на который ходят юзверя и получают удаленно свой виртуальный компутер. Почитай на предмет Citrix Metaframe.

Спустя 5 минут, 52 секунды (14.01.2011 - 12:09) Snus написал(а):
linker
Цитата (Snus @ 14.01.2011 - 09:00)
3. Сложность выборки данных, добавления, редактирования, удаления и т.п.

Боюсь, что это засивист от врожденной кривости рук. Не вижу проблем по работе с массивами, которые в этих файлах smile.gif
Цитата (Snus @ 14.01.2011 - 09:00)
2. Гемморой великий при одновременном доступе.

В чем он выражается? )
Цитата (Snus @ 14.01.2011 - 09:00)
4. Высокая нагрузка на PHP, т.к. Мускул по-любому работает быстрее, чем тоже самое сделанное на PHP.

Да ладно? Хоть бери и создавай тему foreach VS Мускул ))
Цитата (Snus @ 14.01.2011 - 09:00)
5. Куча всего еще.

Ну еще хоть один пример, пожалуйста.

Спустя 2 минуты, 23 секунды (14.01.2011 - 12:12) Snus написал(а):
linker
А пункт про не зависимость от ПО забыли ужо?

Спустя 2 минуты, 15 секунд (14.01.2011 - 12:14) LRCenter написал(а):
linker
Цитата
А ты не в курсе, что база данных - это папка на диске. А таблица в базе данных - это простой файлик. А теперь подумай на счет геммороя по переносу данных.


Знаю, вот я и говорю что sql - те же файлы только с надстроенным интерфейсом.
Только при переносе их еще подключить надо + излишний гемор с резервированием, сохранением на внешний источник через web-интерфейс, восстановелнием, в т. ч. и фрагментарным.

1. А ресурсы выделяемые под sql, но неиспользуемые куда можно пустить?

2-4. Всё это решается с помощью качественно написаной и хорошо спроектированной библиотеки, + если проект большой и нестандартный конечно потребуется "заточка" под конкретные задачи.

5. ?

Спустя 3 минуты, 45 секунд (14.01.2011 - 12:18) LRCenter написал(а):
Понятно, обленились тут все понимаешь: фреймворки им всякие подавай, Сервера БД. biggrin.gif
Гибкость и оптимальность решений от того страдает.

Спустя 3 минуты, 19 секунд (14.01.2011 - 12:21) linker написал(а):
Snus
Цитата
Боюсь, что это засивист от врожденной кривости рук. Не вижу проблем по работе с массивами, которые в этих файлах
А ты в курсе, что десериализация достаточно большого массива может занять у пыха целые секунды? А во-вторых, данные имеют свойство разрастаться, а следовательно увеличивается потребление памятиЮ в один прекрасный момент либо пых ругнется, что не хватает памяти, либо хостер отключит твой сайт навсегда за попытки положить сервак.
Цитата
В чем он выражается? )
Представь что одновременно два юзверя получили данные из файла, при этом каждый внес свои изменения и сохранили? Что будет? Правильно, кто последний сохранил того и тапки, т.е. в файле отразятся изменения только для последнего. Это еще одна из бед, геммор может получится при одновременной записи, когда записываемые данные могут вообще нахрен перемешаться. Продолжать?
Цитата
Да ладно? Хоть бери и создавай тему foreach VS Мускул ))
Ответь на вопрос, допустим есть PHP-скрипт сортирующий массив и есть обычное бинарное приложение, которое делает тоже самое. Какое из двух приложений сделает это быстрее?
Цитата
Ну еще хоть один пример, пожалуйста.
MySQL имеет встроенные средства оптимизации, ускорения, кэширования работы.

Спустя 21 секунда (14.01.2011 - 12:21) LRCenter написал(а):
Цитата
А пункт про не зависимость от ПО забыли ужо?


конечно, flat-file дает абсолютную кроссплатформенность и универсальность.

Спустя 1 минута, 30 секунд (14.01.2011 - 12:23) linker написал(а):
Цитата (LRCenter @ 14.01.2011 - 12:18)
Понятно, обленились тут все понимаешь: фреймворки им всякие подавай, Сервера БД. biggrin.gif
Гибкость и оптимальность решений от того страдает.

Я тебе привел оптимальное решение выборки нужных данных, нарисуй сюда еще более гибкое и оптимальное решение.

Спустя 24 секунды (14.01.2011 - 12:23) LRCenter написал(а):
Цитата
Ответь на вопрос, допустим есть PHP-скрипт сортирующий массив и есть обычное бинарное приложение, которое делает тоже самое. Какое из двух приложений сделает это быстрее?


А давайте проведем простой эксперимент?

Спустя 6 минут, 29 секунд (14.01.2011 - 12:30) Snus написал(а):
Цитата (linker @ 14.01.2011 - 09:21)
А ты в курсе, что десериализация достаточно большого массива может занять у пыха целые секунды? А во-вторых, данные имеют свойство разрастаться, а следовательно увеличивается потребление памятиЮ в один прекрасный момент либо пых ругнется, что не хватает памяти, либо хостер отключит твой сайт навсегда за попытки положить сервак.

Если уж разговор пошел о действительно больших объемах, то и мускул с большими объемами тоже может занять от 1 секунды а то и до минуты, а то и больше (говорю по личному опыту) Выгрузи тоже количество информации, использую INNER JOIN, ORDER и GROUP и время покажет тоже самое, ну может лишь на малость будет отличаться.
Цитата (linker @ 14.01.2011 - 09:21)
Представь что одновременно два юзверя получили данные из файла, при этом каждый внес свои изменения и сохранили? Что будет? Правильно, кто последний сохранил того и тапки, т.е. в файле отразятся изменения только для последнего. Это еще одна из бед, геммор может получится при одновременной записи, когда записываемые данные могут вообще нахрен перемешаться. Продолжать?

Шанс, что такое произойдет 1 к 1000000.
Цитата (linker @ 14.01.2011 - 09:21)
Ответь на вопрос, допустим есть PHP-скрипт сортирующий массив и есть обычное бинарное приложение, которое делает тоже самое. Какое из двух приложений сделает это быстрее?

И большая разница? smile.gif
Цитата (linker @ 14.01.2011 - 09:21)
MySQL имеет встроенные средства оптимизации, ускорения, кэширования работы.

На то она и СуБД. Безусловно, это ее плюсы.

Спустя 12 минут, 13 секунд (14.01.2011 - 12:42) linker написал(а):
LRCenter
Цитата
Только при переносе их еще подключить надо
Не надо там ничего подключать, все налету делается.
Snus
Цитата
Если уж разговор пошел о действительно больших объемах, то и мускул с большими объемами тоже может занять от 1 секунды а то и до минуты, а то и больше (говорю по личному опыту) Выгрузи тоже количество информации, использую INNER JOIN, ORDER и GROUP и время покажет тоже самое, ну может лишь на малость будет отличаться.
Хех, вот только сколько у тебя займет времени с файликами, чтобы сделать аналог INNER JOIN, ORDER и GROUP? Десятки минут, если сервер не свалится.
Цитата
Шанс, что такое произойдет 1 к 1000000.
Ты глубоко заблуждаешься.
Цитата
И большая разница?
Доли секунд, но разница будет расти пропорционально объему данных и увеличения функциональности (пропорциально - это еще мягко сказано). Именно поэтому для серьезных проектов не используют скриптовые языки. Фейсбук вообще разродился собственным транслятором php-кода в оптимизированный C++ с последующей компиляцией в бинарники.
Цитата
На то она и СуБД. Безусловно, это ее плюсы.
На этом ее плюсы не заканчиваются.

Спустя 5 минут, 42 секунды (14.01.2011 - 12:48) Snus написал(а):
linker
Проект сейчас активен и в данный момент в нем жмутся 40 рыл, сервак ни прыгает, ни плавает, ни падает. Сам лично попробовал сейчас загрузить 206 строк по 40 столбцов, на саму обработку тратятся миллисекунды, а вот на построение таблицы в HTML занимает около 3-4 секунд.

Спустя 2 минуты, 11 секунд (14.01.2011 - 12:50) Snus написал(а):
Цитата (linker @ 14.01.2011 - 09:42)
Ты глубоко заблуждаешься.

ИМХО ты забыл добавить. Пусть это мнение останется тогда при тебе.
Цитата (linker @ 14.01.2011 - 09:42)
Доли секунд, но разница будет расти пропорционально объему данных и увеличения функциональности (пропорциально - это еще мягко сказано). Именно поэтому для серьезных проектов не используют скриптовые языки. Фейсбук вообще разродился собственным транслятором php-кода в оптимизированный C++ с последующей компиляцией в бинарники.

А объем больше расти не будет, я взял все по максимуму. И поверь мне, разницы нет. 0.001 сек - это не криминал.

Спустя 12 минут, 43 секунды (14.01.2011 - 13:03) linker написал(а):
У меня текущий проект вот только-только более или менее запущен в работу, базы уже весят почти 3 гига, объем служебных файлов (Pdf, Indd, различные превьюхи) под 400 гигов. Среднее время генерации страницы в пределах 0.2 - 0.8 секунды. При этом фоном работаю процессы репликации данных, генерации индизных-полос в PDF и отжим первью полос. Плюс очень много тискается данных с удаленных 5 MySQL серваков и FTP.

Спустя 8 минут, 29 секунд (14.01.2011 - 13:11) Snus написал(а):
linker
Ну что я могу сказать, "Сам себя не похвалишь - никто не похвалит" smile.gif Это все прекрасно, вызывает только уважение. Но если этим самым ты хотел намекнуть, что мои скрипты жуть как тормозят - то ты явно не внимательно читаешь, что я пишу smile.gif Сам скрипт выполняется какие-то миллисекунды, а вот построение html - занимает время. Тут уж никуда не денешься апач и браузеры жуткая весчь.

Спустя 1 минута, 1 секунда (14.01.2011 - 13:12) LRCenter написал(а):
Цитата
Представь что одновременно два юзверя получили данные из файла, при этом каждый внес свои изменения и сохранили? Что будет? Правильно, кто последний сохранил того и тапки, т.е. в файле отразятся изменения только для последнего.


В тех случаях когда это важно пишется система контроля версий, а при чем тут SQL? Там что она встроенная?

Цитата
Это еще одна из бед, геммор может получится при одновременной записи, когда записываемые данные могут вообще нахрен перемешаться.


при использовании flock вероятность этого исключается.
http://www.php.su/functions/?flock

Цитата
Продолжать?


Да. Интересно.

Спустя 1 минута, 24 секунды (14.01.2011 - 13:13) Snus написал(а):
Snus
Тут хоть полностью разгрузи сервак, напиши обычный *.html файл и встань туда таблицу на 400 строк по 60 столбцов. И посмотри время загрузки страницы.

Спустя 20 минут, 34 секунды (14.01.2011 - 13:34) linker написал(а):
Цитата
Сам скрипт выполняется какие-то миллисекунды, а вот построение html - занимает время. Тут уж никуда не денешься апач и браузеры жуткая весчь.
А я-то грешным делом думал, что HTML строит PHP.
Цитата
Тут хоть полностью разгрузи сервак, напиши обычный *.html файл и встань туда таблицу на 400 строк по 60 столбцов. И посмотри время загрузки страницы.
У меня в день один активный юзверь может перемолоть в день десяток гигабайт входящего трафика (одна страница весом от 8 и более нескольких десятков метров, которая фрагментированно ajax'ом автообновляется раз в минуту).

Цитата
В тех случаях когда это важно пишется система контроля версий, а при чем тут SQL? Там что она встроенная?
Так еще надо какой-то костыль рисовать? И это мы говорим о гибкости и оптимальности. Там в мускуле все встроено нативно.
Цитата
при использовании flock вероятность этого исключается
Ага, все юзвери будут сидеть и сосать чупа-чупс, пока один не закончит работу и не разблокирует файл.

Спустя 7 минут, 11 секунд (14.01.2011 - 13:41) LRCenter написал(а):
http://www.hotscripts.com/forums/php/20194...l-database.html

Вот интересная полемика. Обратите внимание на мнение эксперта сообщества:
Цитата
I'm not at all saying flat files are bad, but if you try to add any type of complexity to the app it can become a huge headache in comparison to SQL.


Вот и все. Отличаеются только функциональностью. Т.е. все можно реализовать на php.

Спустя 6 минут, 12 секунд (14.01.2011 - 13:47) linker написал(а):
LRCenter
Дык кто ж спорит что нельзя реализовать на PHP smile.gif вопрос встанет колом у начальства, увольнять тебя или нет, после очередного падения сайта.

Спустя 21 секунда (14.01.2011 - 13:48) LRCenter написал(а):
Цитата
Так еще надо какой-то костыль рисовать? И это мы говорим о гибкости и оптимальности. Там в мускуле все встроено нативно.


А сравнивать версии и визуализировать отличия тоже sql будет?


Цитата
Ага, все юзвери будут сидеть и сосать чупа-чупс, пока один не закончит работу и не разблокирует файл.


Процесс, насколько я понимаю становится в очередь, а если случится такой перестык, то я думаю пользователь подождет лишних 50 мСек, не умрет biggrin.gif

С SQL-ем и не такие тормоза бывают при корявой архитектуре скрипта.

Спустя 50 секунд (14.01.2011 - 13:49) Snus написал(а):
Цитата (linker @ 14.01.2011 - 10:34)
А я-то грешным делом думал, что HTML строит PHP.

Юмор всегда предпочтителен, но мы все-таки не на Аншлаг-шоу. Если нечего сказать, - как говорят, лучше смолчать.
Цитата (linker @ 14.01.2011 - 10:34)
У меня в день один активный юзверь может перемолоть в день десяток гигабайт входящего трафика (одна страница весом от 8 и более нескольких десятков метров, которая фрагментированно ajax'ом автообновляется раз в минуту).

А что ты этим сказать хотел? smile.gif

Спустя 2 минуты, 15 секунд (14.01.2011 - 13:51) LRCenter написал(а):
linker

если даже при flat-file что-нибудь и упадет, то вырубится только фрагмент сайта за который отвечал поврежденный файл (восстановил потом из бэкапа и порядок), а sql умирает капитально и целиком biggrin.gif

Спустя 6 минут, 21 секунда (14.01.2011 - 13:57) linker написал(а):
LRCenter
Ты видимо не понимаешь о чем речь. Есть файлик с юзверями, у них есть значение даты последнего посежения сайта, одновременно заходят два юзверя и пытаются эту дату обновить и сохранить результат. Вопрос, что будет?

Умножь 50мсек(чем больше данных, тем выше время ожидания, а если еще вспомнить про дефрагментированность данных на диске, и про своп, потому что все это барахло надо держать в памяти и прочее) на количество юзверей, самый последний тебя обматерит.

По сравнению с файлами тормоза с SQL - цветочки.
Цитата
если даже при flat-file что-нибудь и упадет, то вырубится только фрагмент сайта за который отвечал поврежденный файл (восстановил потом из бэкапа и порядок), а sql умирает капитально и целиком
а базы значит не бэкапятся?

Snus
Цитата
Юмор всегда предпочтителен, но мы все-таки не на Аншлаг-шоу. Если нечего сказать, - как говорят, лучше смолчать.
Ну тогда скажи где в моих словах неправда?
Цитата
А что ты этим сказать хотел?
Этим я хотел сказать, что HTML-страница с таблицей в 400 строк и 60 столбцов тихо курит в стороне. Извини, если чем обидел, но это факт.

Спустя 3 минуты, 25 секунд (14.01.2011 - 14:01) LRCenter написал(а):
Цитата
Ты видимо не понимаешь о чем речь. Есть файлик с юзверями, у них есть значение даты последнего посежения сайта, одновременно заходят два юзверя и пытаются эту дату обновить и сохранить результат. Вопрос, что будет?


Как что? С ничтожной задержкой все запишется. Дата то у каждого своя, т.е. пишется в отдельные ячейки.

Цитата
а базы значит не бэкапятся?


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

И потом, при грамотной архитектуре хранение данных распределяется по большому числу файлов, как вы говорите :
Цитата
"база данных - это папка на диске. А таблица в базе данных - это простой файлик"
.

Поэтому всякие перегрузы и коллизии маловероятны.

Спустя 8 минут, 48 секунд (14.01.2011 - 14:09) linker написал(а):
LRCenter
Ну да, дата своя, а фалик один. Зашел первый юзверь, считал данные, зашел второй юзверь тоже считал данные. Оба юзверя считали данные одновременно, обновили свои ячейки и сохраняют результат обратно. Заметь, что первый юзверь не знает, что зашел второй и тоже что-то обновляет, аналогично и второй. Каждый работает со своими считанными данными из файла. Теперь они сохраняют все то барахло, что было считано в файл. Первый пошел, записал (помним, в считанных данных первого, нет того факта, что зашел второй), пошел второй - записал (у которого тоже в считанных данных не отражен факт захода первого). Что будет?
Читаем построчно из файла? Да выход, но, что мы видим? Чтобы найти нужного юзверя в файле, необходимо в цикле прочитать часть, а то и весь файл. Потом найдя себя, обновить значение и опять нужно найти нужную строку, а потом еще как-то впихнуть туда новое значение. Отцы оптимизации переворачиваются в гробах.
Цитата
Почему, бэкапятся конечно, я просто хотел подчеркнуть что и файлы можно легко бэкапить, в т.ч. автоматически. Но при этом поскольку хранение данных в файлах децентрализовано, то есть не зависит от какого-то единго центрального механизма ввода-вывода (кроме серва с языком конечно), ущерб при возможном падении тоже будет частичный, т.е. скорее всего сайт продолжит нормальную работу, с незначительными потерями.
А базы тяжело бэкапятся или нельзя это делать автоматически? Про репликацию, например, слышали что-нибудь? А если у меня сервак с данными вообще стоит на удаленной машине, что мне делать? Когда файлы бьются, то эффект от этого ничем не отличим.
Цитата
И потом, при грамотной архитектуре хранение данных распределяется по большому числу файлов, как вы говорите :
У мускула есть очереди, у него оптимизация, у него есть система нативных блокировок, у него есть кэш и прочее и прочее. О чем тут можно говорить.

Спустя 6 минут, 4 секунды (14.01.2011 - 14:15) Snus написал(а):
Цитата (Snus @ 14.01.2011 - 10:13)
Тут хоть полностью разгрузи сервак, напиши обычный *.html файл и встань туда таблицу на 400 строк по 60 столбцов. И посмотри время загрузки страницы.


Это банальный пример был, а ты черезчур придирчив. Не надо выцеплять отдельные смысловые куски текста из моих сообщений. Не делай из этого каламбур, а то смешно выглядит со стороны. (посмешнее твоей шутки про html)

У меня не просто таблица, а таблица, напичканная ajax + json + php , которую можно в реал-тайме редактировать, автоматически обновляемая (автоопределение стран, подгон описаний ... расписывать долго), но это не суть. Ты мне напомнил разговоры мальчиков в начальных классах школы - "А у меня папа танкист - он сильнее твоего!" - "А мой папа космонавт, он сильнее всех!". К чему все эти сравнения твоего и моего проекта? Они совершенно в разные стороны дуют, никаких аналогий быть не может. Ты еще апельсин с табуреткой сравни. Давай может к более продуктивным разговорам перейдем? Тут задают вполне конкретные вопросы - "Чем мускул лучше файлов и наоборот". ответ не может быть однозначным, это палка о двух концах. Вот если ты считаешь себя компетентным собеседником, участвуй в дискуссии, а если же ты просто решил всем рассказать какой у тебя проект заточенный - то тебе нужно на форум фрилансеров.

Спустя 2 минуты, 14 секунд (14.01.2011 - 14:18) LRCenter написал(а):
linker

А что внутри sql-я это как-то иначе происходит?

Спустя 1 минута, 37 секунд (14.01.2011 - 14:19) Gradus написал(а):
LRCenter, бывает что лучше вся база упадёт чем только её часть.
Цитата
"Чем мускул лучше файлов и наоборот"

муксул удобней и легче в использование, файлы же эффективней использовать при многотонном статичном тексте , но не как архитектуру(с структурой дерева) хранения информации ИМХО

Спустя 5 минут, 50 секунд (14.01.2011 - 14:25) linker написал(а):
Snus
Ты говоришь о своем проекте, значит пример логично относится к твоему проекту. Как и я говорю о своем проекте, а потому примеры привожу реальной работы, а не вымышленной и абстрактной. Ощути разницу, между реальными данными по времени, объемам и прочее в реальном времени, и придуманными от балды примерами с неизвестными исходными данными и результатом в определенных рабочих условиях и факторах.

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

Окей, у тебя есть 100 эксельников, оператору нужно срочняком что-то найти, тебе придется перемалывать все это барахло и как на зло нужно окажется в самом последнем.

LRCenter
Я не разрабатывал MySQL, потому не могу сказать что там происходит. Но мне это и не нужно, в случае когда два пользователя одновременно заходят на сайт, а вот тебе приходится костыли подставлять, чтоб вся система не гикнулась в первые минуты.

Спустя 3 минуты, 41 секунда (14.01.2011 - 14:29) LRCenter написал(а):
Gradus, бывает, но не часто. Что наиболее вероятно? К примеру отрубились комментарии к очень обсуждаемой статье на новостном сайте. Но сама статья то осталась, ее можно читать, можно сообщить админу через форму обратной свзязи о таких проблемах, да и скрипт сам сообщит. Минимизация ущерба в действии.

А если sql упал - это fatal error/ и полный пралич и кома веб-системы.

Спустя 7 минут, 28 секунд (14.01.2011 - 14:36) Snus написал(а):
Цитата (linker @ 14.01.2011 - 11:25)
Ощути разницу, между реальными данными по времени, объемам и прочее в реальном времени, и придуманными от балды примерами с неизвестными исходными данными и результатом в определенных рабочих условиях и факторах.

"Иль птицы высоко летают, или я собаку низко подбрасываю...". Ты о чем вообще? Какие придуманные от балды примеры? Я тебя с каждым постом начинаю все меньше и меньше понимать. У тебя не обида ли скопилась за мускул, что ты так взахлеб пытаешься убедить всех в истинной силе СуБД. Так ты не горячись, я против мускула ничего не имею, сам его использую в 98% случаев. Выпусти пар и попробуй внятно объяснить "Откуда растут ноги у <Балды>, от которого исходят примеры?". (Это афоризма такая, если чего).

Спустя 4 минуты, 19 секунд (14.01.2011 - 14:41) linker написал(а):
За все мои 5 лет общения с PHP, MySQL и более 15 лет программирования и администрирования гораздо чаще ломалось железо (харды бились), чем падал мускул (причем фатально с подключением бэкапов он упал только один раз, три раза кончалось место на диске, раза три-четыре крошили индексы, которые за несколько секунд восстанавливались). Вывод, стоит ли уповать на то мускул гораздо быстрее фатально упадет, чем накроется жесткий диск со всеми файликами с данными?

Спустя 6 минут, 50 секунд (14.01.2011 - 14:47) linker написал(а):
Snus
Цитата
Это банальный пример был, а ты черезчур придирчив.
Чьи слова, не от балды взятые? Ты сказал, сверстай страницу из 60 колонок и 400 строк, сохрани и открой в браузере - это пример от балды. Пример, был приведен дабы поведать о том, как долго апач и браузер пользователя строит страничку, в то время как PHP обработал данные за какие-то доли секунд. В ответ я тебе привел реальный пример из своего опыта со всеми цифрами. За логикой следишь? Так кто воду мутит, ты или я?

Ты становишься нетерпелив. Я не люблю махаться одной лишь теорией и цифрами с примерами взятыми с потолка. Либо факты и конкретика, либо ничего и мы мирно расходимся.

Спустя 2 минуты, 30 секунд (14.01.2011 - 14:50) LRCenter написал(а):
Я убежден что sql, наиболее простое и удобное рашение для большинства проектов и разработчиков. Но не уверен в его оптимальности для большинства проектов.

Чтобы не быть голословным и не ждать до конца месяца (от своих слов не отказываюсь - покажу выборку на файлах), давайте проведем эксперимент по сравнению скорости работы flat-file и sql на малых и средних объемах данных.

От себя предоставляю специально написанную по случаю функцию (простите за стиль и прочее - очень сырая):

#Перезапись значения строки или ячейки
function boxCSVRep($filedb, $modrep, $idnum, $idkey, $numrcellx, $newval, $repeat, $rnrep){
ignore_user_abort(true);
set_time_limit(0);
if($modrep=="cell" or $modrep=="line"){
$idnum=$idnum - 1;
$numrcell=$numrcellx - 1;
$needle=0;
$text=file($filedb);
if ($modrep=="cell"){$newval=str_replace(";","<->",$newval);}
$newval=str_replace("\r\n",$rnrep,$newval);
$newval=str_replace("\r",$rnrep,$newval);
$newval=str_replace("\n",$rnrep,$newval);
foreach ($text as $msv){
$cellnum=explode(";",$msv);
if($cellnum[$idnum]==$idkey){
if ($modrep=="line"){$gorep=1;}
else{
if ($numrcellx > count($cellnum) or $numrcellx < 1){echo "Cell num. $numrcellx is not exist."; $gorep=0;}
else {$gorep=1;}}
if ($gorep==1){
$f_arr = file($filedb);
if ($modrep=="cell"){
$cellnum[$numrcell]=$newval;
$f_arr[$needle]=implode(";", $cellnum);}
else {$f_arr[$needle] = $newval;}
$f=fopen($filedb , "w");
$f_arr=str_replace("\r\n","",$f_arr);
$f_arr=str_replace("\r","",$f_arr);
$f_arr=str_replace("\n","",$f_arr);
for($i = 0; $i < count($f_arr); $i++){
if (flock($f,LOCK_EX)){
fwrite($f , $f_arr[$i]."\r\n");
flock($f,LOCK_UN);}}
fclose ($f);
if($repeat!=1){break;}}}
$needle++;}}else {echo "Set mode is not correct.";}}


#Параметры:Путь к csv, заменять строку или ячейку("line" или "cell"), номер ключевого параметра для идентификации в строке(ячейки) (c 0), ключевое значение, номер заменяемой ячейки, новое значение, повторить много раз(1\0) по умолчанию(пустое поле) - не повторять, замена для переноса строки
#boxCSVRep("base.csv","cell","1","id1","5","Н овое значение","0","<br>");






Спустя 8 минут, 10 секунд (14.01.2011 - 14:58) linker написал(а):
Твой код делает тоже самое, что и мой представленный на странице нумбер 3 cего топика?

Повторю, кстати, его полностью вместе с запросом
<?php

mysql_connect(...);
mysql_select_db(...);
$query = "SELECT
`Tovars`.`Id`, `Tovars`.`TovarName`, `Categories`.`CategoryName`
FROM
`Categories`
INNER JOIN `Tovars` ON `Tovars`.`TovarCat` = `Categories`.`Id`
WHERE
`Tovars`.`TovarCount` > 0
ORDER BY
`Categories`.`CategoryName` ASC, `Tovars`.`TovarName` ASC"
;
$resource = mysql_query($query);
while($data = mysql_fetch_assoc($resource))
{
echo $data['TovarName'] . '<br>';
}

?>
Ты программист? Я думаю программисту беглого взгляда будет достаточно, чтобы понять где оптимальнее, удобнее, быстрее и прочее.

Спустя 4 минуты, 24 секунды (14.01.2011 - 15:03) LRCenter написал(а):
Нет, пока я всего лишь скромный хэлоувордщик smile.gif

Нет, это не выборки - это другая функция - это замена ячейки или строки в таблице формата csv/

Как на выборках-то проверить транззакции и коллизии - без записи же.

Спустя 1 минута, 59 секунд (14.01.2011 - 15:05) Snus написал(а):
Цитата (linker @ 14.01.2011 - 11:47)
Snus
Цитата
Это банальный пример был, а ты черезчур придирчив.
Чьи слова, не от балды взятые? Ты сказал, сверстай страницу из 60 колонок и 400 строк, сохрани и открой в браузере - это пример от балды. Пример, был приведен дабы поведать о том, как долго апач и браузер пользователя строит страничку, в то время как PHP обработал данные за какие-то доли секунд. В ответ я тебе привел реальный пример из своего опыта со всеми цифрами. За логикой следишь? Так кто воду мутит, ты или я?

Ты становишься нетерпелив. Я не люблю махаться одной лишь теорией и цифрами с примерами взятыми с потолка. Либо факты и конкретика, либо ничего и мы мирно расходимся.

Я тебя на мысль навел, что html грузит долго и тут разницы нет, данные берутся из файла или из мускула. За логикой ВЫ не следите, товаристч.

Спустя 2 минуты, 19 секунд (14.01.2011 - 15:07) linker написал(а):
Сравни c моими двумя строчками обновления значения указанного поля
$query = "UPDATE `Tovars` SET `TovarPrice` = '154.50' WHERE `Id` = 1023";
mysql_query($query);
Ты продолжаешь уверенно считать, что твой код отработает не медленнее моего?

Спустя 6 минут, 28 секунд (14.01.2011 - 15:13) linker написал(а):
Тебя за язык никто не дергал
Цитата
а вот на построение таблицы в HTML

Цитата
Сам скрипт выполняется какие-то миллисекунды, а вот построение html - занимает время. Тут уж никуда не денешься апач и браузеры жуткая весчь.
один раз можно оговорится, но два раза в разных постах уже закономерность.

Ну так мы будем реальные факты приводить, что вот мол я сделал на мускуле получились такие и такие цифры, при таких и таких нагрузках. А вот я сделал на файлах и у меня получились такие цифры по скорости работы скрипта при таких же нагрузках. Из чего ты делаешь вывод, что файлики лучше чем мускул.

Понимаешь, я тоже храню много-много, сотни гектар файликов и работаю с ними. Но я всю важную инфу храню в базе и не тискаю каждый раз файл.

Спустя 21 секунда (14.01.2011 - 15:14) Snus написал(а):
linker, LRCenter
Да о чем вы спорите?!?! Естественно Мускул быстрее и практичнее для таких задач банальных, это уже удалось выяснить в ходе дискуссии. Интересно узнать о больших объемах (на моем примере). Я на практике САМ СЕБЕ доказал уже, что файлы отрабатывают в 1.5 раза быстрее, чем Мускул, хотелось бы ваши версии услышать. На примере огромных таблиц с данными а-ля Эксель. Грубо говоря - нужна имитация экселя на стороне сервера + доп. подсчеты, подбор сертов, деклараций, определение стран и тд.

Спустя 11 минут, 22 секунды (14.01.2011 - 15:25) linker написал(а):
Snus
Мой проект далеко не банален, однако в целях практичности, удобства, скорости, оптимальности, рациональности и прочих умных слов я работаю именно с MySQL.

Спустя 4 минуты, 47 секунд (14.01.2011 - 15:30) Snus написал(а):
linker
Мускул лучше всего использовать, как я уже говорил, для обыденных моментов, а вот сотни Гб гонять по мускулу только потому, что это удобно. В моем случае это спорно.

В мускуле я держу информацию по загруженному файлу, а данные из экселя в файле.
eNum | BPnum | clientName | goodsName | excelName | userId | data | del
По идентификатору eNum я беру файл из директории, название файла {eNum}.db, содержимое которого - это закодированная сериализация массива. Т.к у меня автосохранение при каждом действии с таблицей - делать эту таблицу на мускуле - бесмысленно, ибо это будет сжирать очень много памяти мускула и что вызовет лаги в остальных скриптах программы (а это только 1\10 часть от всей программы). Повторюсь - fopen`у много времени не нужно, чтобы считать файл, ровно также, как и записать. И при этом пхп не сильно забивается (память, я имею ввиду). Так вот - стоит ли каждый раз посылать UPDATE `ffff` SET `motherFucker` = 'ТУЕВА_ХУЧУ_ИНФЫ' в Мускул? ТУЕВА_ХУЧУ_ИНФЫ = сериализ массива, чтобы забить нафик всю память мускула (ну я уже повторяюсь). И еще не забываем, что фирма большая и помима моего проекта на мускуле крутятся видеонаблюдение, хелпдеск и еще куча разных приблуд.

Спустя 3 минуты, 51 секунда (14.01.2011 - 15:34) Snus написал(а):
linker
У тебя либо комплексы, либо ты читаешь через строчку. Я не называл твой проект банальным, я сказал
Мускул быстрее и практичнее для таких задач банальных


$query = "UPDATE `Tovars` SET `TovarPrice` = '154.50' WHERE `Id` = 1023";
mysql_query($query);


Если пальцем ткнуть - понятнее?


Спустя 55 секунд (14.01.2011 - 15:35) linker написал(а):
Snus
Я тебе кажется приводил свои цифры, что на данный момент только на одном мускул сервере у меня уже под 3 гектара данных, таких серваков у меня еще 5 штук. Время отдачи страницы я тоже вроде приводил. Нагрузка в 500 юзверей тоже оглашалась. Объемы трафика также были раскрыты. Неужели программист, по идее обладающей логикой, не может переварить всю эту инфу и понять, что эффективность начинает оформляться при проектировании и усугубляться при реализации. Если ты неверно спроектировал свое приложение изначально, то это не значит что мускул в твоем случае проигрывает.

Спустя 5 минут, 26 секунд (14.01.2011 - 15:40) Snus написал(а):
linker
Вот я уже второй день пытаюсь выпытать от тебя предложение по проектировке, а ты только защищаться начинаешь, тем самым в тупик разговор ведя. Я тебе уже задачу описал - решение на мускуле так и не увидел. С описаниями почему лучше. версия с longtext? - Пипец, гениально. От того и пошла дискуссия почему лонгтекст, а не файлы? "Не было ни единого разрыва" - вот что мне напоминает наш разговор.

Спустя 7 минут, 59 секунд (14.01.2011 - 15:48) LRCenter написал(а):
linker
А причем тут размер кода?

В твоем случае нагрузка пойдет через sql, надо чтобы sql и web-серв были на одной машине.
Проверь. Доверяю твоей честности.

Спустя 33 секунды (14.01.2011 - 15:49) linker написал(а):
Я тебе озвучил решение и не раз, на примере своего проекта. Смотри, верстак верстает полосу в InDesign, журналюга и прочие редактора, корректировщики и прочие участвующие люди пишут и правят статьи в InCopy. На выходе может быть один файл полосы и с десяток файлов статей, которые заверстаны на полосу. Как ты думаешь, какова может быть реализация просмотра этой полосы (причем сами статьи ничего не знают о том, что они куда-то заверстаны, это просто отдельные файлы на диске, они даже могут в разных папках находиться)? При условиях выборок:

1. Хочу видеть инфу обо всех статьях на полосе + полосу и инфу о ней.
2. Хочу видеть только статьих находящиеся в корректуре или на верстке или у редактора.
3. Хочу видеть только рекламные статьи, инфорграфику и вариантов масса.

достаточно и этого.

P.S. файлы статей это обычные XML.

Спустя 24 минуты, 50 секунд (14.01.2011 - 16:13) Basili4 написал(а):
linker
Да чего бисер метать я видел наверно уже пяток челов которые с пеной у рта доказывали что файлы лучше пока не научились запросы писать. Для тех кто в танке БД лучше чем фалы хотя бы по тому что они ПРЕДНРЗНАЧЕНЫ для хранения массивов данных кучу челов не спят ночами думают как бы сделать самый быстрый поиск в ихней БД. А файл это это просто место на диске в памяти не имеющий не какой структуры да такой штуки как индексы у них нет.

детишки вы знаете, что такое индексы ??? это каталог как в библиотеке чтоб книги было возможно найти.


Спустя 3 минуты, 40 секунд (14.01.2011 - 16:17) Snus написал(а):
Basili4
Это ты сейчас кому столь познавательную информацию написал?

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

Спустя 4 секунды (14.01.2011 - 16:17) linker написал(а):
Basili4
Я просто хочу, чтобы люди своими головами осмыслили свои убеждения и приняли правильное решение - изучать язык SQL-запросов, настраивать и оптимизировать MySQL для увеличения производительности.

Спустя 48 секунд (14.01.2011 - 16:18) linker написал(а):
Snus
Повторю свой пост, раз ты не понял, что он предназначен для тебя

Я тебе озвучил решение и не раз, на примере своего проекта. Смотри, верстак верстает полосу в InDesign, журналюга и прочие редактора, корректировщики и прочие участвующие люди пишут и правят статьи в InCopy. На выходе может быть один файл полосы и с десяток файлов статей, которые заверстаны на полосу. Как ты думаешь, какова может быть реализация просмотра этой полосы (причем сами статьи ничего не знают о том, что они куда-то заверстаны, это просто отдельные файлы на диске, они даже могут в разных папках находиться)? При условиях выборок:

1. Хочу видеть инфу обо всех статьях на полосе + полосу и инфу о ней.
2. Хочу видеть только статьих находящиеся в корректуре или на верстке или у редактора.
3. Хочу видеть только рекламные статьи, инфорграфику и вариантов масса.

достаточно и этого.

P.S. файлы статей это обычные XML.

Спустя 4 минуты, 51 секунда (14.01.2011 - 16:23) Snus написал(а):
linker
Да? И где же тут предложение по реализации моей задачи? "КуЧа БуКаВаК" я вижу только.

Спустя 1 минута, 22 секунды (14.01.2011 - 16:24) linker написал(а):
Snus
Ты программист или кто? Разве не видишь очевидного и единственно верного решения?

Спустя 7 минут, 18 секунд (14.01.2011 - 16:31) Snus написал(а):
linker
Все ясно с тобой. Я решение вижу и оно уже как полгода работает без сбоев. А вот ты не смог внятно рассказать хотя бы десятую часть того, как бы ты хранил информацию в Мускуле. Дискуссию на эту тему с тобой прекращаю, ибо уже бессмысленно. longtext - вот твое мнение по поводу того, как бы ты хранил, ты его озвучивал в начале. С той мертвой точки мы так и не сдвинулись. Мой ответ на твою реализацию : лонгтекст мне не подходит. Соответственно, предложить ты так ничего и не смог. В итоге в данном соревновании победили файлы.

А общий ответ по сабжу - "Что выбрать файл или база данных" - это палка о двух концах. В каждом случае свой подход. Но в 95% случаев конечно Мускул.

Спустя 6 минут, 55 секунд (14.01.2011 - 16:38) linker написал(а):
Snus
В моем случае победил TEXT. Ибо, найти в 10 тысячах статей (на данный момент), те в которых присутствует слово "Путин" в базе будет в 100 раз и более быстрее, чем я буду искать это слово в каждом файле.

Разум не восторжествовал, а жаль.

Спустя 4 минуты, 3 секунды (14.01.2011 - 16:42) Basili4 написал(а):
Цитата (Snus @ 14.01.2011 - 17:31)
В каждом случае свой подход.

конечно свой базы бавают разные в некоторых случаях подошел бы и мускул или прострег в других МSSQL в третий Оракл Но в любом случае лепить велик на файлах фиговое решение.

И это даже не холивар это попытка взрослых дядек объяснить малышам, что детей не аист приносит.

Спустя 1 минута, 48 секунд (14.01.2011 - 16:44) Snus написал(а):
linker
Ты очень невнимательный. Данные зашифрованные, посмотрел бы я на тебя, как ты будешь искать слово Путин. Даже если ты будешь искать по зашифрованному слову Путин, он тебе еще выдаст пару тысяч непонятных словосочетаний. Удачи!

Спустя 1 минута, 59 секунд (14.01.2011 - 16:46) linker написал(а):
Все понятно, моск мы включать не хотим, удачи.

Спустя 4 минуты, 48 секунд (14.01.2011 - 16:51) Snus написал(а):
Как ни крути, но найти "Путин съел селедку", зашифрованную, например, в мд5 по слову "Путин" не получится как бы ты не пыхтел.

Спустя 2 минуты, 32 секунды (14.01.2011 - 16:53) linker написал(а):
Snus
Хотел бы я видеть, как ты расшифровываешь md5-хэши своих эксельников.

Спустя 7 минут, 15 секунд (14.01.2011 - 17:01) Snus написал(а):
linker
Мда... еще раз подтвердил мою теорию о том, что ты читаешь только отдельные куски текста.
Я написал "например, в мд5", не буду же я тебе все детали раскрывать. Если был бы сообразительным, не придрался бы к слову МД5, а понял о чем я тебе говорю. Факт остается фактом. Твои 5 лет общения с Мусклум с треском упали в моих глазах. smile.gif

Спустя 8 минут, 25 секунд (14.01.2011 - 17:09) Basili4 написал(а):
Snus
Малыш иди учи уроки. Я тоже судя по всему не сообразительный потому что меня также заинтересовал вопрос как же ты из хеша будешь текст восстанавливать.

Я бьы с радостью посмотрел как завалится вся твоя возня на фалах при записях едва достигших 1 миллиона. оффтоп жалко Федя к нам не ходит уже он тоже пяткой в грудь стучал никаких БД пока экзамен по БД не сдал. ага.

Спустя 3 минуты (14.01.2011 - 17:12) Snus написал(а):
Basili4
Ты выражаться подобным тоном со своими малышами будешь, а здесь соблюдай дисциплину, выскочка.

Спустя 9 минут, 28 секунд (14.01.2011 - 17:22) Basili4 написал(а):
Snus
Цитата (Snus @ 14.01.2011 - 18:12)
Ты выражаться подобным тоном со своими малышами будешь, а здесь соблюдай дисциплину, выскочка.

Прочитал и понял ты учишься в 7 классе. Да ???


Спустя 2 минуты, 43 секунды (14.01.2011 - 17:24) Snus написал(а):
Basili4
"Да ты умен не по годам". Последний этап эволюции явно прошел мимо тебя.

Спустя 1 минута (14.01.2011 - 17:25) Basili4 написал(а):
Snus
ага я не "Эльф 80 уровня" в отличии от тебя.

Спустя 4 минуты (14.01.2011 - 17:29) Snus написал(а):
Basili4
Своим поведение ты доказываешь абсолютно противоположное. user posted image

Спустя 38 минут, 33 секунды (14.01.2011 - 18:08) DmitryOpalev написал(а):
Snus
Цитата
Как ни крути, но найти "Путин съел селедку", зашифрованную, например, в мд5 по слову "Путин" не получится как бы ты не пыхтел.

linker
Цитата
Хотел бы я видеть, как ты расшифровываешь md5-хэши своих эксельников.

Snus
Цитата
Мда... еще раз подтвердил мою теорию о том, что ты читаешь только отдельные куски текста.
Я написал "например, в мд5", не буду же я тебе все детали раскрывать. Если был бы сообразительным, не придрался бы к слову МД5, а понял о чем я тебе говорю. Факт остается фактом. Твои 5 лет общения с Мусклум с треском упали в моих глазах.

Мне вот этот момент не понравился, Snus, то есть ты linker`у предлагаешь md5 расшифровывать, а самому что-нибудь другое взять?
Не хорошо wink.gif

Спустя 13 минут, 18 секунд (14.01.2011 - 18:21) Gradus написал(а):
Snus, с md5 ушёл в максимализм smile.gif
Да хорош , Snus и linker вы указываете друг другу на минусы, а общее сравнение сделать не хотите.Я вот лично не вижу в файлах каких-то моментов которые справятся лучше чем mysql, кроме как тупо текст огромный (с которым не надо сложные действия выполнять) показывать и вообще те сайты которые бд делают на файлах похожи просто на бардак с чем работать не особо хочется, хотя может я просто привык к mysql

Спустя 3 минуты, 6 секунд (14.01.2011 - 18:24) Snus написал(а):
DmitryOpalev
Я ему всего-лишь намекал на то, что чем не шифруй, поиск по мускулу будет перекрыт. А МД5 - это первое, что мне на ум пришло. Хоть даже своим шифрованием пользуйтесь, разницы нет - одностороннее шифрование или нет.

Спустя 2 минуты, 31 секунда (14.01.2011 - 18:27) Snus написал(а):
Gradus
А я не говорил, что сайты на файловых БД это круто. Я лично против таких. Я пытался доказать, что хранить многотонный массив лучше в файле, чем засирать столь полезную мускул.

Спустя 2 минуты, 11 секунд (14.01.2011 - 18:29) DmitryOpalev написал(а):
А где тема была foreach VS... я её мимо глаз пропустил...

Спустя 1 минута, 21 секунда (14.01.2011 - 18:30) Gradus написал(а):
Snus, ну тут другие факторы надо учитывать , а так наверное согласен smile.gif

Спустя 4 минуты, 14 секунд (14.01.2011 - 18:35) DedMorozzz написал(а):
Цитата (Snus @ 14.01.2011 - 17:27)
Gradus
А я не говорил, что сайты на файловых БД это круто. Я лично против таких. Я пытался доказать, что хранить многотонный массив лучше в файле, чем засирать столь полезную мускул.

сравнимо с дорогой. Я еду из точки 1 и точку 2.
Из 1 в 2 идёт только маршрутка ценой в 100 единиц.
Но пол пути можно проехать на троллейбусе за 20 единиц. Итого ехать на маршрутке до начала пути троллейбуса, а после пересаживаться - полная чушь. Ибо выйдет дороже, хуже и медленей.
Если юзать то одно, а не вспоминать что и где хранить, при каком случае. А что касаемо хранения то БД для этого и создана.

Спустя 1 час, 32 минуты, 24 секунды (14.01.2011 - 20:07) alex12060 написал(а):
Я плакалъ)

Я не представляю, как это, держать БД в папке, которая предназначена для хранения файлов скриптов)

Да и потом же, мускул - это те же самые файлы, в которых хранятся эти данные) Зачем заного создавать велосипед? Лишняя мутора) Да и в добавок, файлы повредить проще, чем структуру БД, которая, при грамотном обращении, будет недоступна пользователю)

В общем, хоть утопчите, я за Мускул)

Спустя 2 часа, 41 минута, 34 секунды (14.01.2011 - 22:49) LRCenter написал(а):
linker

Цитата
Я просто хочу, чтобы люди своими головами осмыслили свои убеждения и приняли правильное решение - изучать язык SQL-запросов, настраивать и оптимизировать MySQL для увеличения производительности.



Блин, вы просто Мичурин какой-то от мира СУБД. biggrin.gif biggrin.gif

Я хочу чтоб, колхозные хозяйства начали селекционировать и удобрять для увеличения урожая!! biggrin.gif

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

Спустя 8 минут, 46 секунд (14.01.2011 - 22:57) Renden написал(а):
LRCenter
Уф, в целом тут 10 страниц срача))
Да смысл это обсуждать, это разница как windows и linux.. Виндузятники будут кричать виндовс удобен, на виндовс игры.. линуксойды будут кричать про стабильность, отсутствие вирусов и тп...идею вы поняли. Смысл в том что под РАЗНЫЕ задачи используется разный функционал, будь то файлы, будь то база. Все завсисит от удобства непосредственному создателю скрипта, с чем ему удобнее работать.

Спустя 1 час, 12 минут, 52 секунды (15.01.2011 - 00:10) linker написал(а):
Renden
Извини, а в чем разность задач проявляется при вопросе где накапливать и хранить данные?

Спустя 8 часов, 32 минуты, 3 секунды (15.01.2011 - 08:42) LRCenter написал(а):
Renden
Согласен с вами, по большому счету функционал flat-file (при хорошей библиотеке) приближается к sql, и чем пользоваться (для большинства задач) в основном вопрос удобства и привычки.

Я склоняюсь к файлам, потому что люблю идейный минимализм, и мне приятно осозновать что на один внешний элемент влияющий на работу меньше. Господа, которые учились в тех.вузах и внимательно слушали лекции по ТРИЗ-у меня поймут.

Полную версию библиотеки имеющую почти все основные функции субд + документация, размещу в этой теме в конце этого, начале следующего месяца.
Подчеркиваю, что я нуб и библиотека не будет венцом совершенства, т.е. наверняка можно написать что-то рациональнее smile.gif - расчитываю на вашу критику.


Хочу еще поблагодарить публику php-форума за вполне себе культурную дисскусию, особенно linker-а за его терпение: на просторах сети встречаются холивары по этой теме переросшие в инквизицию и травлю со всякими оскорблениями и проч. инакомыслящих sad.gif

Спустя 4 часа, 31 минута, 37 секунд (15.01.2011 - 13:14) LRCenter написал(а):
linker
Цитата
Сравни c моими двумя строчками обновления значения указанного поля


А у меня одна!
boxCSVRep("base.csv","cell","1","id1","5","Н овое значение","0","<br>");


Остальное же мой sql :D

Спустя 8 часов, 56 минут, 43 секунды (15.01.2011 - 22:11) linker написал(а):
LRCenter
Да но тебе пришлось нарисовать самом функцию boxCSVRep(), так что тут не одна строка тобой написана.

Спустя 10 часов, 16 минут, 28 секунд (16.01.2011 - 08:27) LRCenter написал(а):
linker
Понятно что пришлось, но она весит всего <2кб и это мой sql- мнеже не придется переписывать ее каждый раз так что трудоемкость работы с ней вполне сопоставима с sql.

Вся библиотека в итоге не должна превысить 30кб, а sql весит больше 10Мб, поскольку он мне не нужен экономия пространства очевидна smile.gif

Спустя 50 минут, 48 секунд (16.01.2011 - 09:18) Basili4 написал(а):
LRCenter
но твоя либу надо загружать в проект. А субд работает сама по себе. Есть не полохой тест для выявления качества твоей либы. Сделай выборку из из 3 таблиц по 1 миллиону записей. и сделать тоже самое на любой СУБД и сравни время выполнения запроса. Я лично не сомневаюсь в том что результат покажет чего стоит твоя либа. и закроет весь этот холивар раз и на всегда.

Спустя 6 минут, 17 секунд (16.01.2011 - 09:24) VelsoN написал(а):
Придерживаюсь БД smile.gif

Спустя 33 минуты, 13 секунд (16.01.2011 - 09:57) LRCenter написал(а):
Basili4
Я же оговорил - что библиотека для малых и средних объемов данных. А то о чем говорите вы требует оптимизации и специальных разработок. В нуждах рядового разработчика web-сайтов такое нечасто встретишь.

Спустя 13 минут, 54 секунды (16.01.2011 - 10:11) Basili4 написал(а):
LRCenter
комментариев на форуме может быть не меньше или будешь создавать для каждого топика отдельную таблицу с комментами.

Спустя 19 минут, 22 секунды (16.01.2011 - 10:31) LRCenter написал(а):
Basili4
Это остается на совести разработчика форума, который будет использовать мою библиотеку.
Ну если-бы я разрабатывал форум общего назначения, то наверное так - для каждой темы отдельный файл, пожалуй это наиболее оптимально.

Спустя 57 минут, 1 секунда (16.01.2011 - 11:28) linker написал(а):
Мой огромный совет ребятам-любителям файлов. Напрягите свои извилины, потратьте время, разберитесь, почитайте книжек на тему теории баз данных. Прочитав и вникнув вы поймете, что неизбежно ваших мозгов, сил и времени не хватит никогда, чтобы разродится действительно качественной поделкой, сравнимой с современными разработками в сфере хранения и обработки информации, в частности баз данных. Все ваши решения изначально не оптимальны, тяжеловесны, медленны, ресурсоёмки. Их сложно поддерживать, в них сложно разбираться, из них формируется контент www.govnokod.ru . Выучите теорию, научитесь писать SQL-запросы и вы поймете, что это добро, а все что вы делали до этого годится лишь для страниц "Привет Я Вася Пупкин, это моя странца" с максимальным посещением 1 человек в месяц.

Спустя 33 минуты, 59 секунд (16.01.2011 - 12:02) LRCenter написал(а):
linker
Вас послушать, так все новое неизбежно поподает на govnokod.ru smile.gif
Как же тогда оно появляется? Все новаторы говнокодеры по определению. Такая вот прикольная этика в среде программеров wink.gif

Вы про эволюцию слышали? Она ведь не только в природе бывает, а в технических системах тоже. sql морально устаревает, это очевидно, ему на смену приходит множество разных парадигм, например про noSQL слышали? http://ru.wikipedia.org/wiki/NoSQL

Про конвергентную и дивергеную эволюцию может знаете?
Так почему бы не попробовать такой вариант? Есть же sqlite, например, но он на C, почему бы не сделать тоже самое на php? Понятно что будут недостатки, а у чего их нет? Будет и своя ниша для применения - я уверен.

А теперь извините, мне некогда - пошел писать библиотеку, поговорим по факту cool.gif

Спустя 26 минут, 22 секунды (16.01.2011 - 12:28) LRCenter написал(а):
LRCenter
И про Васю Пупкина вы конечно загибаете)

Понятно что flatfile в чем-то могут уступать sql, но не настолько. Есть куча CMS на файлах в том числе реализующие одновременный доступ, и версии - очень надежных и т.п. - например wiki-движок DokuWiki - http://ru.wikipedia.org/wiki/DokuWiki


---
http://en.wikipedia.org/wiki/List_of_conte...agement_systems

Обратите внимание на раздел "File/flat file" - там с десяток серьезных CMS представлено - значит есть своя ниша.


А среди wiki-движков на файлах вообще чуть-ли не половина:
http://ru.wikipedia.org/wiki/Вики-движок


Так что знаете: субд приходят и уходят, а файлы остаются smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.