anonymous@RULINUX.NET~# Last login: 2024-11-24 07:15:45
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

anonymous(*) (2013-04-23 15:57:28)

[Ответить на это сообщение]
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>Ну понятно, что нет никакого смысла размещать файлы БД на виртуальном диске в памяти
А redis так размещает, например. Ну, точнее, данные размещает, не знаю, что там с файлами.

SystemV(*)(2013-04-23 16:11:22)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Смысл дискутировать с идиотом?

Ax-Xa-Xa(*)(2013-04-23 16:13:26)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Ну, точнее, данные размещает

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

> не знаю, что там с файлами.

А с файлами там всё так же как и у нормальных баз, судя по доке - пишет изменения в redo log, а оттуда по мере возможности переносит их в собственно файлы БД.

anonymous(*)(2013-04-23 16:35:51)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Не слышал про концепцию - всё есть файл?

Как именно БД представляет данные в памяти ? Чем это отличается от представления данный в файле ?

anonymous(*)(2013-04-23 16:46:01)

Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

Хотя конечно все новые СУБД и так держат часть данных в памяти и заморачиваться этим нет необходимости, разве что в каких-то особых случаях.

anonymous(*)(2013-04-23 16:53:39)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

Напомню: "Некоторые часть БД держат в рамдрайв и не жалуются". Уверен, его воспаленный мозг упустив из виду, что речь идет о "части БД", рисует ему картины гибельной потери данных при отключении электричества или сбое)))

Ax-Xa-Xa(*)(2013-04-23 16:59:43)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Его в этой фразе, как я понял, напрягает рамдрайв.

anonymous(*)(2013-04-23 17:05:38)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

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

anonymous(*)(2013-04-23 17:07:22)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>А зачем использовать SQLite, если можно просто выделить кусок памяти и складывать туда свои данные прямо в том виде, в каком программа их будет дальше использовать?
Наверное проще работать с готовым решением, умеющим sql, чем городить свой велосипед с записью в память и способами выборки данных для этой памяти.

SystemV(*)(2013-04-23 17:12:11)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> А зачем использовать SQLite, если можно просто выделить кусок памяти и складывать туда


А зачем мне придумывать свой велосипет в достаточно простенкой GUI программе, когда есть SQLite с готовой группировкой и суммированием. Что бы тебя порадовать? :) Хотя если ты готов оплатить, с удовольствием поковыряюсь с памятью.

PS: Задрали со своей капчей!

anonymous(*)(2013-04-23 17:18:56)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Как именно БД представляет данные в памяти?
> Чем это отличается от представления данный в файле?

Вопросы, смахивающие на риторические.. Неужели ты спросил всерьёз?

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

anonymous(*)(2013-04-23 17:20:39)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Наверное проще работать с готовым решением, умеющим sql, чем городить свой велосипед с записью в память и способами выборки данных для этой памяти.

Полагаю, такие костыли было бы некорректно называть базами данных.

anonymous(*)(2013-04-23 17:22:33)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Хотя если ты готов оплатить, с удовольствием поковыряюсь с памятью.
И не надейся, это нищеброд. Он даже нормальный SSD себе купить не может)))

Ax-Xa-Xa(*)(2013-04-23 17:22:50)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> А зачем мне придумывать свой велосипет в достаточно простенкой GUI программе, когда есть SQLite с готовой группировкой и суммированием. Что бы тебя порадовать? :) Хотя если ты готов оплатить, с удовольствием поковыряюсь с памятью.

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

anonymous(*)(2013-04-23 17:39:07)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Если тебе нужно что-то посчитать по твоим данным - чего бы самому не пробежаться по массиву структур данных в памяти
У меня на всё про всё ушло по 9-10 строчек кода на инсерты для записи данных, их всего два. И примерно столько же строчек на селесты уже с сгруппированными и просчитанными данными, их четыре по количеству отчетов. Вместе с рисованием отчетов и отладкой, это взяло день.

Ты мне предлагаешь написать свою подсистему хранения данных в памяти, плюс процедуры их расчета. Да у меня бы месяц ушел на это все!

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

anonymous(*)(2013-04-23 17:55:26)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Я уже сказал, любой каприз за ваши деньги


Я бы даже за деньги не стал. У него "природная жадность", кинет однозначно))) Тем более ты его дебилом называл, пациент этого не любит)))

Ax-Xa-Xa(*)(2013-04-23 18:07:46)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> У меня на всё про всё ушло по 9-10 строчек кода на инсерты для записи данных, их всего два. И примерно столько же строчек на селесты уже с сгруппированными и просчитанными данными, их четыре по количеству отчетов. Вместе с рисованием отчетов и отладкой, это взяло день.

А сколько у тебя ушло времени на всё то же самое, но не размещая данные на рамдрайве?

> Ты мне предлагаешь написать свою подсистему хранения данных в памяти, плюс процедуры их расчета. Да у меня бы месяц ушел на это все!

Судя по количеству инсертов - у тебя всего две структуры хранятся в БД, чтобы объявить два массива с соответствующим типом элементов и где надо перебирать их в цикле - месяц не нужен. Если у тебя есть возможность оптимизировать работу с данными - тем лучше, можешь использовать деревья поиска, например на базе std::map/std::set. На это тоже месяц не требуется.

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

anonymous(*)(2013-04-23 18:15:55)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

> можешь использовать деревья поиска, например на базе std::map/std::set
Да помню, проходил в ВУЗЕ. :) Только зачем мне все это, особенно в Кутяшной программе если и так нормально все работает и гибко получилось.

> Хотя мне кажется
Когда кажется, креститься надо. Данных собирается достаточно много, и группировка идет по нескольким проиндексированным полям. Которые могут быть выбраны произвольно при необходимости. Если ты можешь такое реализовать на STL за день, то я искренне за тебя рад.

anonymous(*)(2013-04-23 18:35:46)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Ой столько дебилов, столько дебилов оказывается в АйТи)))

По ссылке интересная статья по In-Memory Data Grid.

Ax-Xa-Xa(*)(2013-04-23 18:47:01)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Но всё-таки какой профит по производительности тебе дало размещение файлов не на диске, а на рамдрайве? Насколько быстрее стала работать программа?

anonymous(*)(2013-04-23 18:47:09)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Если ты можешь такое реализовать на STL за день, то я искренне за тебя рад.
Я бы тоже был бы искренне рад, если бы "учитель" явил бы нам свой код, в подтверждение своей "концепции")))

Ax-Xa-Xa(*)(2013-04-23 18:48:59)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> По ссылке интересная статья по In-Memory Data Grid.

Там что-нибудь пишут про хранение файлов на рамдрайве?

anonymous(*)(2013-04-23 18:52:59)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>> По ссылке интересная статья по In-Memory Data Grid.
> Там что-нибудь пишут про хранение файлов на рамдрайве?
Не знаю сын мой, почитай))) Мы вообще-то о хранение данных БД в памяти беседуем, а статья по теме.

Ax-Xa-Xa(*)(2013-04-23 19:27:00)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Но всё-таки какой профит по производительности тебе дало размещение файлов не на диске, а на рамдрайве? Насколько быстрее стала работать программа?


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

text
Write to /home/research/000.db: 10.9755270481
(47469,)
Read from  /home/research/000.db: 0.494474172592
Write to :memory:: 6.15873003006
(47469,)
Read from  :memory:: 0.30100107193
 


python
# -*- coding:utf8 -*-
import os
import time
import os.path
import sqlite3
from random import randrange

max_record = 1000000

data = []
for n in xrange(0, max_record):
    data.append(randrange(21))

text = """Но всё-таки какой профит по производительности тебе дало размещение файлов не на диске,
          а на рамдрайве? Насколько быстрее стала работать программа?"""


def test(db):
    if db!=':memory:' and os.path.exists(db):
        os.unlink(db)

    start = time.time()
    conn = sqlite3.connect(db)
    curs = conn.cursor()
    curs.execute('CREATE TABLE test (number int, number1 int, number2 int, number3 int, data text)')
    for n in xrange(0, max_record):
        curs.execute('INSERT INTO test(number, number1, number2, number3, data) VALUES ({0},{0},{0},{0},"{1}")'.format(data[n], text))
    conn.commit()
    print "Write to {1}: {0}".format(time.time()-start, db)
   
    os.system('sync && echo 1 > /proc/sys/vm/drop_caches')
   
    start = time.time()
    curs = conn.cursor()
    curs.execute('SELECT count(*) FROM test WHERE number={0}'.format(7))
    print curs.fetchone()
    conn.close()
    print "Read from  {1}: {0}".format(time.time()-start, db)

test('./000.db')
test(':memory:')
 

Ax-Xa-Xa(*)(2013-04-23 19:30:06)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Не знаю

Ах вот оно что! Ну тогда ступай себе нахуй, голубчик.

anonymous(*)(2013-04-23 19:40:39)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>> Не знаю
> Ах вот оно что! Ну тогда ступай себе нахуй, голубчик.
Ну поздравляю с первой партией кирпичей!))) Кстати про файлы ты сам додумавать начал, речь изначально шла о части данных.

Ax-Xa-Xa(*)(2013-04-23 19:46:37)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?


Write to ./000.db: 66.5168938637
(47700,)
Read from ./000.db: 2.63378500938
Write to :memory:: 48.4398999214
(47700,)
Read from :memory:: 1.18591189384

Architecture: x86_64

BogoMIPS: 3326.52

И да, зачем версию питона не указываешь ?

anonymous(*)(2013-04-23 19:50:46)

Mozilla/5.0 (Linux x86_64) AppleWebKit/537.6+ (KHTML, like Gecko) WebKitGTK+/1.10.2 luakit/0d5f4
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Шото у тебя слабенький паровоз)))

У меня 4x5999.85 bogomips Atlon X4, x86_64 Python 2.7

Ax-Xa-Xa(*)(2013-04-23 19:57:14)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> зачем версию питона не указываешь ?

Это в принципе без разницы, как ни играй в КО, а скорость дисковых операций мало зависит от версии петона.

anonymous(*)(2013-04-23 19:57:36)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>И да, зачем версию питона не указываешь ?
Так по коду видно же, что 2.6 и выше:)

А вот поставил бы он скобки вокруг print, и заменил бы xrange на range - работало бы и на третьем. Развели тут безответственность, не думают о будущем.

text
Write to /home/zaza/000.db: 8.9937479496
(47830,)
Read from  /home/zaza/000.db: 0.443228006363
Write to :memory:: 6.02213406563
(47830,)
Read from  :memory:: 0.302751779556
 

SystemV(*)(2013-04-23 20:01:00)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Но всё-таки какой профит по производительности тебе дало размещение файлов не на диске
Профита было кстате больше, чем замерах Хаха, в 2-3 раза точно. У меня и запись длинее и запросы гораздо сложней.

anonymous(*)(2013-04-23 20:02:21)

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Прикольно, память у тебя почти столько же, а диск веселей гораздо. На винт не поскупился видимо при покупке))) Да и рандом у тебя щедрее на семерки)))

Ax-Xa-Xa(*)(2013-04-23 20:05:11)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> )))

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

> Кстати про файлы ты сам додумавать начал, речь изначально шла о части данных.

Т.е. ты утвеждаешь что твои тупые мужики не файлы держат на рамдрайве? Они что, ещё более тупые, чем мне показалось изначально? :)

anonymous(*)(2013-04-23 20:07:58)

avatar
  • матерные выражения
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

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

Ax-Xa-Xa(*)(2013-04-23 20:17:10)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>Прикольно, память у тебя почти столько же, а диск веселей гораздо.
У меня в /home какой-то WD caviar blue, средненький. На самом деле может и процессор повлиял, может оно при чтении с диска от него сильнее зависит. У меня 6х7050 этих самых богомипсов (никогда не понимал, что это такое, наверное что-то религиозное, судя по началу слова). После новогоднего хардварного веселья я таки всё обновил:)

SystemV(*)(2013-04-23 20:20:08)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Профита было кстате больше, чем замерах Хаха, в 2-3 раза точно.

что странно, :memory: должно работать ещё шустрее, потому что файловая система не должна вовлекаться вовсе.

> У меня и запись длинее и запросы гораздо сложней.

Я всё-таки не понимаю. Если ты не собираешься использовать данные постфактум - ну и агрегировал бы их по мере поступления. Ну зачем вообще тратить память на ненужное промежуточное хранение данных.

P.S.
Я надеюсь, эта прога не попадётся нам где-нить в публичном дистре? ;)

anonymous(*)(2013-04-23 20:28:54)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> может оно при чтении с диска от него сильнее зависит

Я думаю, при "чтении" с диска скорость сильнее зависит от таймингов твоей памяти, в которой эти данные лежат :D :D

anonymous(*)(2013-04-23 20:31:18)

avatar
  • матерные выражения
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Кстати про файлы ты сам додумавать начал, речь изначально шла о части данных.

> похуй на самом деле, в файлах эти данные или не в файлах.

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

Ах неужели :)

anonymous(*)(2013-04-23 20:34:16)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>Я думаю, при "чтении" с диска скорость сильнее зависит от таймингов твоей памяти, в которой эти данные лежат :D :D
Кстати, вот вариант с tmpfs, где действительно файлы базы данных лежат в памяти:)

text
Write to /tmp/000.db: 7.0347840786
(47423,)
Read from  /tmp/000.db: 0.514477968216
Write to :memory:: 5.94798898697
(47423,)
Read from  :memory:: 0.299348115921
 

SystemV(*)(2013-04-23 20:34:35)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

anonymous(*)(2013-04-23 20:38:14)

Mozilla/5.0 (Linux x86_64) AppleWebKit/537.6+ (KHTML, like Gecko) WebKitGTK+/1.10.2 luakit/0d5f4
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

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

SystemV(*)(2013-04-23 20:40:33)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> :memory: должно работать ещё шустрее, потому что файловая система не должна вовлекаться вовсе.
Что бы ты тут сильно не вводил молодежь в заблуждения вот тебе еще замер)))

bash
sudo mkdir /mnt/tmpfs/
sudo chmod 777 /mnt/tmpfs/
sudo mount -t tmpfs -o size=500M tmpfs /mnt/tmpfs/
 


Почти уверен, что SQLite, делает что-то подобное, когда задается БД ":memory:")))

text
Write to /home/research/000.db: 11.1104290485
(47497,)
Read from  /home/research/000.db: 0.464012861252
Write to :memory:: 6.26504397392
(47497,)
Read from  :memory:: 0.301959991455
Write to /mnt/tmpfs/000.db: 6.9493598938
(47497,)
Read from  /mnt/tmpfs/000.db: 0.462486982346
 

Ax-Xa-Xa(*)(2013-04-23 20:41:22)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

Каким макаром можно все кэши скинуть , перед началом чтения ?

anonymous(*)(2013-04-23 20:43:15)

Mozilla/5.0 (Linux x86_64) AppleWebKit/537.6+ (KHTML, like Gecko) WebKitGTK+/1.10.2 luakit/0d5f4
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Если ты не собираешься использовать данные постфактум - ну и агрегировал бы их по мере поступления.


Если я правильно его понял, он может динамически задать по каким полям ему нужно агрегировать данные в отчетах. Так что опять ты мимо кассы))) Или ты знаешь как это за день сделать на stl?))) Тогда код в студию!

Ax-Xa-Xa(*)(2013-04-23 20:45:14)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>Каким макаром можно все кэши скинуть , перед началом чтения ?
Как-то так: echo 3 > /proc/sys/vm/drop_caches

оттуда

SystemV(*)(2013-04-23 20:45:55)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

sync && echo 1 > /proc/sys/vm/drop_caches

Ax-Xa-Xa(*)(2013-04-23 20:46:40)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

> Кстати, вот вариант с tmpfs, где действительно файлы базы данных лежат в памяти:)

Итого:

С "диска":
Read from /home/zaza/000.db: 0.443228006363

С tmpfs:
Read from /tmp/000.db: 0.514477968216

WTF?

anonymous(*)(2013-04-23 20:47:46)

avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

У вас с системом один ситочник ? ;)

Правильней было бы записать, сбросить кэш, а уж потом читать, давайте по новой тесты :)

anonymous(*)(2013-04-23 20:49:21)

Mozilla/5.0 (Linux x86_64) AppleWebKit/537.6+ (KHTML, like Gecko) WebKitGTK+/1.10.2 luakit/0d5f4
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>WTF?
Кстати, да, wtf?

SystemV(*)(2013-04-23 20:50:38)

Emacs-w3m/1.4.513 w3m/0.5.3
avatar
Скрыть

Re:Каким надо быть дебилом, чтобы размещать файлы БД на виртуальном диске в памяти?

>> WTF?
> Кстати, да, wtf?


Я думаю если заюзать более длинную запись, заюзать пару-тройку таблиц с джоином и агрегированием. Этот вопрос снимится с повестки для, так как дисковый кэш перестанет вносить свою лепту)))

Кстати видимо это как раз и наблюдает, молодой анон.

Ax-Xa-Xa(*)(2013-04-23 20:52:52)
Отредактировано Ax-Xa-Xa по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31
Этот тред читают 8 пользователей:
Анонимных: 8
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!