подписка
Подписаться

PrestaShop

Подписка на RSS
john_j
16/02/2011
Александр Фролов:

нам вообще не нужно обращаться к СУБД за данными, а мы берем их непосредственно из оперативной памяти. Это дает максимальную скорость выборки.

По идее, для того, чтобы просто "взять данные из оперативной памяти", либо с жесткого диска, либо откуда-то еще, нужно их предварительное упорядочивание, изменение, и тд. А этим как раз и занимается СУБД.
Скопировать ссылку на сообщение
Ответить
Александр Фролов
Управляющий директор, Shop2YOU
16/02/2011
Цитата:

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


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

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

Т.е. кеширование не исключает, а дополняет использование СУБД. Оно позволяет существенно сократить количество запросов за счет исключения повторных запросов, результаты которых были получены ранее и сохранены.
Скопировать ссылку на сообщение
Ответить
john_j
17/02/2011
Александр Фролов:

Т.е. кеширование не исключает, а дополняет использование СУБД.

Кеш, как я понимаю, это всего лишь данные размещенные на носителе с быстрым доступом (например ОЗУ). Нормальная СУБД должна работать с разными данными.

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

Вывод - при большом обьеме данных не обойтись без СУБД. В итоге, вопрос только стоит - сделали ли вы СУБД лучше имеющихся. Например, лучше MySQL.
Скопировать ссылку на сообщение
Ответить
Александр Фролов
Управляющий директор, Shop2YOU
17/02/2011
Цитата:

Кеш, как я понимаю, это всего лишь данные размещенные на носителе с быстрым доступом (например ОЗУ). Нормальная СУБД должна работать с разными данными.


Как я уже говорил, кеш не заменяет СУБД, а только ускоряет выборку данных из нее, устраняя дублирующиеся запросы.

Цитата:

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


Да нет, как раз наоборот. Попробуйте memcached - получите ускорение в сотни раз, если, конечно, все сделаете правильно.

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

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

Цитата:

Вывод - при большом обьеме данных не обойтись без СУБД. В итоге, вопрос только стоит - сделали ли вы СУБД лучше имеющихся. Например, лучше MySQL.


Мы не делали СУБД, в этом нет необходимости. Мы подключили к MySQL систему кеширования, встроив ее вызовы непосредственно в наше программное обеспечение. И это в итоге дало нам огромный прирост в производительности на повторяющихся запросах.
Скопировать ссылку на сообщение
Ответить
easywind
17/02/2011
Александр Фролов:

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

Система кеширования это код на ПХП проверяющий наличие страницы на диске и если нет то создающий ее из базы? Это называется система кешированием?

Перестаньте хвалиться нет аудитории...
Скопировать ссылку на сообщение
Ответить
Антон Копысов
18/02/2011
эх, тема то вроде о престе, вот у меня конкретно вопрос по престе. Может ктонибудь сталкивался с модулем рассчёта наложенного платежа почты России? если сталкивались то подскажите плиз
Скопировать ссылку на сообщение
Ответить
Александр Фролов
Управляющий директор, Shop2YOU
18/02/2011
easywind:

Система кеширования это код на ПХП проверяющий наличие страницы на диске и если нет то создающий ее из базы? Это называется система кешированием?


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

Мы вообще не используем PHP из-за того что он очень медленно работает и там постоянно находят дыры в безопасности.

Система кеширования, как я уже неоднократно писал, взята готовая, это memcached. Вызовы memcached встроены в код наших приложений, и мы можем кешировать любые данные, кстати, а не только выборки из СУБД. Почитайте на сайте memcached, как она устроена, и поймете, что это очень серьезное и быстро работающее приложение.
Скопировать ссылку на сообщение
Ответить
Антон Р.
Торговля (Красота и здоровье, среднего размера компания)
21/02/2011
Антон Копысов:

эх, тема то вроде о престе, вот у меня конкретно вопрос по престе. Может ктонибудь сталкивался с модулем рассчёта наложенного платежа почты России? если сталкивались то подскажите плиз

Можно самому настроить стоимость доставки. Не 100% точно, но максимально приближено к тарифам почты.
Скопировать ссылку на сообщение
Ответить
Антон Копысов
22/02/2011
antonros:

Можно самому настроить стоимость доставки. Не 100% точно, но максимально приближено к тарифам почты.

если не трудно то подскажите как, буду благодарен
Скопировать ссылку на сообщение
Ответить
Антон Р.
Торговля (Красота и здоровье, среднего размера компания)
23/02/2011
Антон Копысов:

если не трудно то подскажите как, буду благодарен

Если только вкратце:

Во вкладке "Континенты" прописываем 5 поясов
Во вкладке "Регионы" каждому региону присваиваем свой пояс.
Во вкладке "Шкала цен" прописываем диапазоны весов. Например от 1 до 2кг, от 3 до 4кг. и т.д.
В основной вкладке "Пересылка" Присваиваем каждой паре пояс-диапазон веса свою стоимость.
Например 1 пояс от 1до2кг = 150руб, 2 пояс от1 до2кг = 200руб и т.д.
Скопировать ссылку на сообщение
Ответить
Антон Копысов
26/02/2011
Благодарю!
Ответить
Разделы форума
Открытие бизнеса
Привлечение клиентов
Удержание клиентов
Ведение бизнеса
Работа с маркетплейсами
Тенденции развития
Специальные форумы