Свежие комментарии

Title Comment
<i>Единственное, что представляет интерес - если объем даных

Единственное, что представляет интерес - если объем даных заведомо больше размера памяти, то как и в какой момент сливать данные в БД.

И ровно этот вопрос и обсуждается в данном посте, если ты не заметил....

Орейли-книги вообщем-то можно и бесплатно в сети найти :) Н

Орейли-книги вообщем-то можно и бесплатно в сети найти :)

Но если рассматривать варианты за деньги то еще можно рассмотреть всякие членства, например Computer society дает доступ к о'рейли книжкам за стольник год вроде http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9c...
ACM'овское членство тоже дает какой-то такой доступ (может не к орейли значит к другому паблишеру)

:) Да, можно как студент регистрироваться - полтиник экономия будет

Да, Сафари под винду тоже понимает.

Да, Сафари под винду тоже понимает.

Масштаб переделок там большой. Но все там будем - нет никаки

Масштаб переделок там большой.
Но все там будем - нет никаких шансов прожить в рамках старой парадигмы (без распределенной конструкции) в ближайшие 10-20 лет.

И таки да - историй про MySQL, оптимизации которого приводят к неверным результатам что-то не слышно.

Нет, задача сформулирована не так - "сложить в БД и иметь до

Нет, задача сформулирована не так - "сложить в БД и иметь доступ по ключу" + "в качестве хранилища используется btree". Вот я и увидел задачу "собрать в памяти и использовать, а хранить в битри"

если просто сложить в БД с оптимизацией, то все делается ровно так же, только накапливаемый размер становится параметром и на алгоритм уже не влияет. Единственное, что представляет интерес - если объем даных заведомо больше размера памяти, то как и в какой момент сливать данные в БД.

В первоначальном посте сформулирована задача "сложить в BTre

В первоначальном посте сформулирована задача "сложить в BTree". Ее ты вообще не обсуждаешь. Там же написано (хотя и косвенно), что в память не влезаем.

Если ты взял (реальную) задачу из комментов, то там и про размер и про 32 бита тоже написано, дочитай комменты до конца.

Там в preferences есть выбор между - максимальным контрасто

Там в preferences есть выбор между
- максимальным контрастом
- и максимальной нейтральностью

Это вроде как примерно то, про что ты спрашиваешь.

Я выдал решение той задачи, что сформулирована. Там не было

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

Если есть дефицит памяти, то смотри комментарий о будешь дропать страницы, я про это написал. Если при этом нужна производительность, то в момент обращения к несуществующей странице надо ставить запрос в очередь и обрабатывать другие, а те тупо грузить страницу из БД. Но это сразу требует переделки алгоритма, который к страницам обращается.

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

Анатолий, к несчастью 32-бита (т.е. реальные 2Gb на процес

Анатолий,

к несчастью 32-бита (т.е. реальные 2Gb на процесс с учетом портабельности) являются требованием. И в этих 2 гигабайтах 5-6 гигабайтная база возникает, увы.

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

Ну а считать битики - мы умеем.

Решение задачи принципиально зависит от соотношения доступно

Решение задачи принципиально зависит от соотношения доступной памяти и максимального размера БД.

Если говорить о задаче типа "счетчика", с 8-байтным ключем и 20-байтными данным на современной машине, 100М записей :), то мое решение такое:

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

статически выделенная таблица указателей на "страницы", размером в величину хеша * на размер указателя. Тут у нас не возникает никакого дефицита.

"страницы" записей с одинаковым хешем, динамически выделяемые по мере добавления ключей , сортированные. 28 байт на значение. Да-да-да, тут у нас реаллок и много аллоков при добавлении записей, но я думаю ты знаешь, как это делается с практически нулевым оверхедом по памяти и производительности. Да и добавление записей-то вещь редкая, а обращение - частое.

Тут у нас уже дефицит памяти и адресного пространства в 32 битах становится существенным. Но с 64 битами на современной машине мы прекрасно вписываемся.

при изменении данных они маркируются и фоновый процесс сливает все в БД. Таким образом производительность дисков не влияет на производительность самой системы.

при дефиците памяти можем грохать таблицы, к которым давно не было обращений.

Я так делал еще в DOS :), где дефицит памяти был куда как более суровым. Программирования тут - на несколько часов, обсуждать дольше.

Ты просто не осознаешь масштаб стоимости переделки базы софт

Ты просто не осознаешь масштаб стоимости переделки базы софта на "встроенное писание на три диска" с distributed transaction.
Ну представь, что тебе нужно писать код, работающий на multicore cpu. который может произвольно посчитать 2*2=5, поэтому тебе нужно параллельно делать вычисления на разных ядрах и сравнивать результаты.

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

<q> это Oracle, если они не смогли, то кто же? </q>

И кто же? Фрилансер с MySQL, от голода фантазирующий как Мюнхгаузен?

То что SAN - это такая job security и никого не накажут за п

То что SAN - это такая job security и никого не накажут за покупку самой крутой дисковой полки/шкафа, ибо там дохрена девяток и вообще сервис-инженер приезжает через час после звонка - это все понятно. То же самое и с базами данных - то, что Oracle может просто давать неправильный ответ на запрос (при том, что по маленьким данным все тесты отличные) - никого не ипет, это Oracle, если они не смогли, то кто же?

Но это не имеет отношения к "дешевле".

А так - тебе EMC с удовольствием продаст тот же терабайтный Seagate ES.2 за 700 баксов вместо 150. Все будут довольны.

99% того, что хранит гугл - это мусор, пропажа которого не о

99% того, что хранит гугл - это мусор, пропажа которого не отразится на бизнесе компании. Это не "реальный бизнес", а все еще наколеночный стартап.

Да очевидно. Посмотри на тех, у кого в сторадже реальный биз

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

&lt;q&gt; Но тройное дублирование на дешевых SATA - оно деше

<q> Но тройное дублирование на дешевых SATA - оно дешевле мега-SAN-ов. </q>

Неочевидно.

<q> у меня сейчас 2 терабайта под столом </q>

1.5TB - $120

http://www.newegg.com/Product/Product.aspx?Item=N82E16822148337

WebKit-based понимают. Поэтому правильно поступать так: дела

WebKit-based понимают. Поэтому правильно поступать так: делать sRGB и включать профиль в JPEG.
Тогда Apple (где цвета другие) поймёт профиль и покажет всё правильно (всё же FireFox2 на MacOS -- редкость, она будет в пролёте, увы), а на винде, где sRGB -- Совсем родной IE и старые FF не поймут его, но всё равно покажут правильно.

Ну вот я токийский шкаф сейчас мучаю, пока не нравится :)

Ну вот я токийский шкаф сейчас мучаю, пока не нравится :)

наверное тут тоже поможет предварительная сортировка, только

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

А надо собирать с lcms, тогда будет лучше (ну и включить не

А надо собирать с lcms, тогда будет лучше (ну и включить не забыть, да!)

На Fedora FF3 профилей не понимает

На Fedora FF3 профилей не понимает

Хром с ихним Сафаровым движком тоже не в теме...

Хром с ихним Сафаровым движком тоже не в теме...

<b>Re: &gt; А юниксовый - собирать с lcms</b><br/> Ага, подт

Re: > А юниксовый - собирать с lcms
Ага, подтверждаю. После этого, заработало. FF3, дистрибутивная сборка от Debian.

между тем, на фоне Savvio 15K новые SSD не выглядят безобра

между тем, на фоне Savvio 15K новые SSD не выглядят безобразно дорогими.

Набрать нужные мне терабайты сегодняшними SSD по 80GB - это

Набрать нужные мне терабайты сегодняшними SSD по 80GB - это будет сиотреться порнографично. :-)

Скорее всего проблема в размере записи и кластера. SQL записывает 8k страницу физически записывая 32k кластер.

<b>&gt; --enable-system-lcms (судя по configure),</b><br/> Я

> --enable-system-lcms (судя по configure),
Я собираю Firefox, используя .mozconfig, и там эта опция явно не задаётся (в отличие от многих других), а поддержка есть. и config.status её тоже не содержит. Так что

<b>Re: &gt; Ну это же как собрать.</b><br/> --enable-system-

Re: > Ну это же как собрать.
--enable-system-lcms (судя по configure),

<b>&gt; Ну это же как собрать.</b><br/> У меня нет увереннос

> Ну это же как собрать.
У меня нет уверенности, что у Firefox-3 есть какая-то специальная опция сборки. Может быть просто определяется системная (не)поддержка.

<b>Re: &gt; Угу, проверил на Firefox3/FreeBSD - галка есть</

Re: > Угу, проверил на Firefox3/FreeBSD - галка есть
Ну это же как собрать. Я вот собрал просто из портов, не думая, оно собралось без color management. Причем, в тех опциях, которые порт спрашивает - даже и вопроса нет такого.
Отчего галка есть, а проку от нее нету.

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

<b>Re: Кстати вот:</b><br/> Ага. Но про ICC4 - это на самом

Re: Кстати вот:
Ага.

Но про ICC4 - это на самом деле актуально в свете распространения L-star профилей.

<b>Кстати вот:</b><br/> http://community.livejournal.com/myf

Кстати вот:
http://community.livejournal.com/myfirefox/68209.html

Pages

Subscribe to comments_recent_new