Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   RevoleR CMS: ищу идеи и критику (https://javascript.ru/forum/project/73650-revoler-cms-ishhu-idei-i-kritiku.html)

xShift 03.05.2018 17:47

RevoleR CMS: ищу идеи и критику
 
Revolver CMS написана на языке PHP 7, что подходит большинству хостингов и хавает очень мало памяти и ресурсов сервера. Обладает своим движком БД DBX, который позволяет писать запросы MySQL не зная самого SQL(идея структур - пишете структуру указываете чем манипулировать и получаете результат сходу).



Взяты лучшие идеи Drupal 6 версии и выжимка из WP. Позиционируется как мультикоммбайн с полной SEO совместимостью(применен опыт прошлых раз использования разных CMS и их ошибок. очень быстрая система).

Полностью свой frontend на ES7 позволил создать полностью динамический контент. Все формы и внутренние руты работают на fetch! Есть крутая front-end библиотека Revolver micro своего производства!

Защита тоже козырное в Revolver CMS(CBC шифрование с привязкой к сессии и токену и блокировка хэша доступа к БД). Собственная капча!

В общем предлагаю запедалить Beta на localhost и написать что бы вам хотелось видеть в системе, а я это реализую. Буду рад критике!

У системы есть инсталлятор. Проблем с установкой быть не должно.


Сырцы: https://github.com/xShiftx/RevolveR_CMS

Для установки используйте хостинг с PHP7 и MySQL или локальный сервер(MAMP, LAMP, WAMP). Я использую MAMP.

Из браузера в PMA создайте БД и в настройках инсталлятора введите ее имя, хост, пароль, а также закончите настройку ученик админа.

Пока создавать ноды может только админ так как функционал категорий и тегов с правами еще в разработке. но будет к концу недели полный production release.

Писал на спор на скорость ... Что бы можно было добавить допилить и так далее? Хочу чпокнуть WP :)

skrudjmakdak 04.05.2018 11:09

https://github.com/xShiftx/RevolveR_...s/NodeData.php
Такое впечатление что вы не слышали о паттерне mvc. Лично мне сложно на это смотреть

xShift 04.05.2018 19:30

Цитата:

Сообщение от skrudjmakdak (Сообщение 484606)
https://github.com/xShiftx/RevolveR_...s/NodeData.php
Такое впечатление что вы не слышали о паттерне mvc. Лично мне сложно на это смотреть


Вот я еще шаблонизатора не написал к сожалению. Будет.

xShift 05.05.2018 03:22

=============================================

RevolveR CMS Delta 0.9.1(пре релиз) :: превью и установка на видео.

xShift 06.05.2018 14:55

Delta 0.9.5 release : в Revolver CMS добавлена поддержка микронных и сайдбары.

Мне осталось вынести некоторые настройки темы в БД из файла конфигурации и будет долгожданный Production Release! Возможно уже сегодня.

Я бухать ...

xShift 13.05.2018 19:08

Небольшой code break ... Продолжаю.

v.1.0.3 : загрузки файлов и управление ими, аватарки, редактор разметки добавлены. В следующих релизах функционал личных сообщений и рейтинг пользователей.



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

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

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

Какой функционал мог бы понадобиться вам?

Nexus 14.05.2018 13:10

/core/libraries/NodeData.php В этом файле вся админка описывается?
Работать с классом "DBX" только автор и сможет, имхо.
Класс не может работать с несколькими соединениями с бд сразу, я правильно понял?

xShift 16.05.2018 11:50

Цитата:

Сообщение от Nexus (Сообщение 485291)
/core/libraries/NodeData.php В этом файле вся админка описывается?
Работать с классом "DBX" только автор и сможет, имхо.
Класс не может работать с несколькими соединениями с бд сразу, я правильно понял?

Пока в NodeData. А что нужно 1000 файлов завести как у этих мудаков на Симфони и композере?
После того, как напишу шаблонизатор и конструктор форм - будет легче(расчленю помаленьку).

И, кстати, не только админка.

А что не так с DBX? Он же простой(тот же Doctrine сложнее в 4 раза). Работать может как угодно. На каждый запрос создается подключение и потом рвется. Запустишь два параллельных запроса - получить 2 соединения.

xShift 16.05.2018 12:07

Думал над формулой рейтинга. Сейчас думаю реализовать вот так:

Создание страницы дает +10 очков, создание комментария дает +5 очков. При лайке чего либо расходуется -2 очка и добавляется +1 очко создателю контента. Также при регистрации будет начисляться +20 очков, а раздача инвайта будет приносить +10 очков за каждую регистрацию, но будет доступна при накоплении например 100 очков в единичном экземпляре. Реферал будет получать бонус рейтинга +30 очков.

Такая схема позволит создать закономерную инфляцию, которая мотивирует работать и защищает от гиен.

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

Это даст даст возможность самоорганизации сообщества и ненадобность в модераторах. Никакой цензуры и только "работающий класс" будет располагать реалиями управления. Вот еще над ролями думаю.

Nexus 16.05.2018 12:13

Цитата:

Сообщение от xShift
На каждый запрос создается подключение и потом рвется. Запустишь два параллельных запроса - получить 2 соединения.

Не слишком ли затратно на каждый запрос открывать новое соединение?
Не обратил внимания, что данные БД лежат в public свойствах.

Цитата:

Сообщение от xShift
А что нужно 1000 файлов завести как у этих мудаков на Симфони и композере?

Ну, я бы поступил как и названные "мудаки", мое имхо.
Если, конечно, удобно ковыряться в файле размером в 1к строк (минус 1к - шаблоны страниц), то ваш файл идеален.

xShift 16.05.2018 12:53

Цитата:

Сообщение от Nexus (Сообщение 485412)
Не слишком ли затратно на каждый запрос открывать новое соединение?
Не обратил внимания, что данные БД лежат в public свойствах.


Ну, я бы поступил как и названные "мудаки", мое имхо.
Если, конечно, удобно ковыряться в файле размером в 1к строк (минус 1к - шаблоны страниц), то ваш файл идеален.


Затратно в чем(сейчас ничего не тормозит - а будет время сделаю профилятор времени выполнения, съеденной памяти и количества запросов)? Некоторые даже разрывать соединение не умеют и у них ведь не затратно когда 300 подключений висит:nono: ? Да и кэш наверное я сделаю.

Он разнесется сам, как только сваяю шаблонизатор и конструктор форм. В идеале это просто контроллер ROUTE с запросами к БД.:victory:

Nexus 16.05.2018 13:03

Цитата:

Сообщение от xShift
Затратно в чем

Как минимум во временных ресурсах.

Цитата:

Сообщение от xShift
Некоторые даже разрывать соединение не умеют и у них ведь не затратно когда 300 подключений висит ?

Соединения "автоматически" закрываются, если они конечно не перманентные.

xShift 16.05.2018 13:04

Цитата:

Сообщение от Nexus (Сообщение 485416)
Как минимум во временных ресурсах.


Соединения "автоматически" закрываются, если они конечно не перманентные.


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

Nexus 16.05.2018 13:18

Цитата:

Сообщение от xShift
Точно не утверждаю, но скорее всего зависит от настройки сервера и таймаут.

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

Цитата:

Сообщение от xShift
Разве он не делает то, что нужно избавляя базу от постоянной нагрузки?

Смотря как его использовать.
Если вы собираетесь хранить вообще все данные в ram, то стоит посмотреть на in memory databases (я не юзал).

xShift 16.05.2018 13:28

Цитата:

Сообщение от Nexus (Сообщение 485419)
У меня нет экспертных знаний в этом вопросе, но думаю соединение должно быть разорвано сразу после завершения php-процесса.


Смотря как его использовать.
Если вы собираетесь хранить вообще все данные в ram, то стоит посмотреть на in memory databases (я не юзал).

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

xShift 16.05.2018 15:06

v1.0.4 :: подработана админка и выведен список пользователей. теперь можно менять роль пользователя. если будет время в скором времени переработаю все доступы и сделаю возможность создавать роли пользователя с разными настройками. типа добавить роль *** читать, писать статьи и нельзя комментировать. Это будет скорее всего после создания форума и личных сообщений. Стараюсь развивать структуру БД плавно без переработок всего движка - так удобнее. будет еще список страниц и список каментов. поиск хочу писать на базе GOOGLE CSE.

https://github.com/xShiftx/RevolveR_CMS

xShift 17.05.2018 16:42

А на что бы вы хотели расходовать очки рейтинга полученные за статьи и комментарии, которые добавлены в RevolveR CMS v.1.0.6? Нужны ли персональные значки зависящие от рейтинга?

Я хотел добавить функцию возможности купить апгрейды аккаунта с за очки рейтинга, которые добавляются при регистрации пользователя и комментировании. Например вы накопили 500 очков(+2 за каждый комментарий) и можете обнулить их в тип аккаунта "Writer", который позволяет писать статьи и редактировать категории. Дальше вы получаете по +5 очков за каждую статью и накапливаете с аккаунтом Writer 100 очков еще. За эти 100 очков вы получаете один инвайт который дает право пригласить участника с аккаунтом User, который получит стартовые 30 очков. Можно также добавить рефератную программу и приглашенный будет приносить по +10% очку за любой контент пригласившему.

Какие еще возможности Points вам бы понравились? Предлагайте - все разумное реализую.

В ближайшие дни: поддержка личных сообщений.

https://github.com/xShiftx/RevolveR_CMS

xShift 19.05.2018 13:28

Revolver CMS v.1.0.8 :: добавлена поддержка личных сообщений и допилен движок fetch submit для мультиформ.



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

xShift 19.05.2018 18:36

v.1.0.9 Доработана функция отправки почты. Добавлены уведомления на email о новых комментариях и приватных сообщениях.

Буду ставить вместо Drupal 8(гребенное гавно стало много жрать, постоянно падать и слишком замороченное) на хостинг и переносить свой бложек. Там уже будут конкретно деловые правки. Собсно - разработка в заморозке.


https://github.com/xShiftx/RevolveR_CMS

xShift 23.05.2018 11:34

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

Паттерн пока в разработке, наверное через пару дней будет релиз RevolveR CMS v.1.1.1. Предлагаю предложить какие данные вам бы хотелось видеть в отображении.


xShift 24.05.2018 20:58

v.1.1.2 Статистику сделал. Обновлять ниче не надо. Просто заменить файлы.
Если кто знает ключи расшифровки хэша URL яшки и гошки - дайте в личное сообщение. Сделаю показ переходов с поисковика с указанием запроса пользователя.

Дальше будут не критичные обновления. Весь PHP натив перепиливать на обьекты функция. Типа гет ноде, гет юзер. Пока думаю как избежать большого колва запросов к бд. Так то шустро работает.

xShift 25.05.2018 22:10

v.1.1.3 короче это последний вброс с моей стороны в области потенциальных славянских контрибуторов. тольку ноль. кто хочет поучаствовать в проекте - приглашаю на сайт http://cyberx.pro.

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

Все ближайшие планы раскиданы тут.

При желании можем поднять IRC чат или что-то еще. В обозримом будущем интегрирую форум. Там пару дней программирования буквально до релиза.

xShift 26.05.2018 21:09

v.1.1.4: Added SMS notifications support. In feature releases I have to integrate 2 factor auth. Now thinking about tokens generation algorithm.

xShift 03.06.2018 19:05

v.1.1.8 update : added contents moderation, form stylers, code improved by getData() helper( get user example : $base::getData('users') ), templates exploding, template fragments introduction and more.


xShift 16.06.2018 13:34

В версии 1.2.1 добавил опцию бана пользователя, а также возможность анонимам оставлять комментарии с постмодерацией.

В следующих релизах DBX to DBY(наиболее полный набор функций MySQL - движок БД будет круче чем Doctrine и более оптимизированное ядро).


На данный момент разработка приостановлена из-за злобной ошибки Chromium подобных браузеров. Overload CPU из-за использования каких то функций ES7 во front-end библиотеке. Google разводят руками - мол мы не разработчики, Опера тоже ничего сделать не может на данный момент. Если кто знает адрес форума Chromium разработчиков - оставьте ссылочку, чтобы я связался с этими раздолбаями - сам еле нашел только форум поддержки Google Chrome.

И вообще бесят эти подельщики. Сами сидят только иконки перекашивают и называют по другому типа яндексов и опер всяких.

xShift 20.06.2018 23:33

v1.2.2 :: Нативная поддержка Yandex труба страниц и Google Accelerated Mobile Pages(приколол подмену рута без создания дополнительного шаблона). Допилена внутренняя SEO статистика(теперь 100% точно определяет переходы из поисковых систем).

Теперь в принципе можно не запариваться о том, когда будет поддержка ES7 на андроид браузер, а пилить мобильное отображение как два пальца обсосать(это AMP вообще легкое дерьмо - обрезано 80% функционала HTML, JS и CSS).

Подробнее на английском: http://cyberx.pro/revolver-cms-v1.1.2/

xShift 29.06.2018 19:24

v.1.2.4 :

Полная AMP совместимость для мобильной версии включая автоматический конвертер media типа картинок под формат responsive(почти на 100% идеально, но требует небольших подправок). Запилены простейшие стили для мобилок.

Подслушка для Turbo Pages. Теперь в панели управления выводится также информация о просмотре страниц на удаленных Yandex серверах реализующих Turbo страницы.

Для HTTP 2.0 прокачан Push Server для медиа контента. На данный момент волочет по асинхроному предзагрузу только картинки, но в будущем это будет любой медиа контент такой как video, audio и так далее.

К концу первой трети следующего месяца будет модуль форума. Пока исследую существующие движки и выбираю, что может понадобиться.

Revolver CMS под нагрузкой жрет максимум 100Мб памяти, не жрет процессор и почти не грузит БД! После реализации статического кэша вообще нихера грузить не будет, но в ближайшие три года он мне точно не пригодится.

Подробнее на Английском: https://cyberx.pro/revolver-cms-v1.2.4/

xShift 16.07.2018 12:21

v.1.2.6 : впердоханы в движек БД новые типы запросов search. реализован движек поиска. в процессе продвинутый поиск по темам форума и комментариям с возможностью выбрать где искать(заголовки или контент). может быть будут впердоханы теги для контента.

Еще оптимизированы UPDATE запросы и DELETE.

Пропилены также и новые способы SELECT.

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

С версии v.1.3.0 уже планирую называть R_R CMS как Content Managment Framework(aka CMF), потому что у меня уже сосет WP не считая обилия тем и плагинов(вот все что нужно сделано).

ЕЩе будет обвязка для создания SPA. Это тип развертки шаблона который будет опираться на отхлопы разных нод в секции на responsive.

Прошла удачно индексация AMP и турбо страниц. Нет нужды делать мобильную версию(шаблон пока маленько в сетку не вконтрачивается, но z его подожму как Chrome выкатят исправление ошибки движка).

Теперь система с 30 страницами и немногим числом комментариев жрет 1 запрос БД на кэше и 7Мб памяти, что позволяет обоссать WP.

xShift 20.07.2018 10:26

v.1.2.7 - устранена ошибка infinite loop во фронте для Chromium подобных. Теперь все работает. Доделан сниппет поиска.

у меня лето, обновлений пока не будет.

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

Мы ради эксперимента для меня включились в систему, разработали сценарий разработки CMS и дальше получали только мозги людей под разработку(они не принимали фактического участия в комитах, но активно помогали резолвить неукладки), что позволило написать полный продукт ровно за 3 месяца(+ месяц на планирование) от 20го до 20 го числа. Все это время я в основном работал не более 3-4 часа в день и в свободное время ржал над прослушками и глушил пивас.

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

Это не будет у каждого точно и ни какой речи об официальном внедрении не может быть и речи. Нас заебут всякие менты и ФСБ, который считают, что любое скопление прослушек и разработчиков более 5 человек считается банд формированием. Мы с ними еле разрастались чтобы они нас не подставляли, поэтому теперь новых людей берем неохотно.

Welcome new world ;)

xShift 09.09.2018 08:26

Эх. Расслабился и почти ничего не делал пару месяцев. Сейчас работаю без поддержки, но кое что наваял.

v.1.3.2:

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

- добавлены sitemap.xml

- добавлена улучшенная микроразметка и валидация.

Как куплю новый ноутбук - будет снова сбор людей для включения в процесс разработки модуля интернет магазина(зима 2019: спринт из 3х программистов на связи с нейро. попутно посмотрим что мы можем улучшить в методологии).


Также доработан кэш. Системе для запуска главной теперь требуется один запрос БД(проверка статуса хэша в БД - остальное берется из файлов). На недорогом хостинге выдерживает 100 потоков по наплыву посетителей - выше предел не выяснял. Тоесть если это будет сервер отдельные, то какие-то там Bitrix и WP просто не конкуренты.

Жрет порядня 0.5 Mb памяти на посетителя + 0,05 время выполнения страницы.

Доработана DBX(язык запрсов к БД основанный на приниципе описанных страуктур, добавлены двойственные запросы INJECT- и insert и update в зависимости от параметров).

Будет обновление метода рендеринга шаблонов на ob->buffer, если я придумаю как вывести HTML5, что сделает готовой к любому говняному UBUNTU хостингу.

После создания модуля интернет магазина я займусь созданием тем оформления.

Вот такие пироги.

Кстати, сайт с голой Revolver CMS получает X10 в яндекс.

На сайте появился форум и разделы касающиеся системы - документация в процессе написания.

http://cyberx.pro/revolver-cms-v.1.3.2/

xShift 13.09.2018 06:48

very. 1.3.4 добавлено шифрование fronted captcha для еще более агрессивной защиты от сама. Добавлены xml site map. Немного подправлена валидность.

xShift 08.11.2018 14:54

ver. 1.3.5 :: Обновлен router-controller :: теперь каждый рут в своем файле. Немного меньше жрет памяти(минимум 0.08Mb голая система).

Поправлен баг когда форма не перенаправляется в цель после сабмита некоторых форм.

Поправлен баг с обновлением профиля пользователя.

Подпилен форум.

In english: http://cyberx.pro/revolver-cms-v.1.3.5/

xShift 25.11.2018 12:33

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

Обновление уже реализовано и ждет коммита, но я пишу модуль архива материалов по датам, чтобы был пример того, как создавать свои расширения к RevolveR CMS.

Также будет впилен TWIG в качестве шаблонизатора(а может не Twig, пока определяюсь с выбором).

xShift 30.11.2018 20:01

v.1.3.6 : запилены расширения и один модуль для примера того как это работает archive(показывает ноды по датам).

Там тупо 4 файла и расширение можно юзать. Позволяет прокачивать или даже переопределять системные route(узлы и страницы), подключать свои CSS и даже работать с БД.


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

http://cyberx.pro/revolver-cms-v.1.3.6/

xShift 22.01.2019 19:16

RevolveR CMS :: экономический отчет по производительности и дороговизне обслуживания.

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



В целом о хостинге, на котором произведено тестирование в production режиме: хостинг sprinthost и тариф Восток II, который абстрактно предоставляет общую мощность сервера в пределах 10 условных единиц из которых система RevolveR CMS затратила 0,06(всего 6 сотых) в среднем в течение месяца условных единиц. О выгодности использовать RevolveR CMS судите сами. Она отлично подойдет как для блога так и для простого ресурса сообщества с форумом несмотря на относительно скромный функционал.



Благодаря фирменному DBX Turbo Cache система отъедает всего 2 DBX(MySQL) запроса на инициализацию любого компонента и любого рута.

Система выдачи контента написана сплошным потоком и движек для пагинации выдает сразу все страницы контента или все комментарии и темы форума хранящиеся в кэше и базе данных, при этом система при условии наличия 50 созданных страниц(узлов), 10 тем форума и около 30 комментариев в БД(на данный момент) отъедает не более 6 мегабайт ОЗУ в пик нагрузки.



Система кэширования статики тоже достаточно просчитана и вот суммарное за месяц в виде графика представление об обращении движка системы к статике(зеленый график) и динамическим скриптам(желтый график).



Итого суммарный за месяц график потребления ресурсов хостинга на обслуживание RevolveR CMS:



Как видно, это меньше 500 единиц из доступных 14500 по тарифу 300 рублей в месяц. Итого суммарная стоимость следуя логике выходит в 15-20 рублей в месяц максимум при использовании хостинга с оплатой за растяжку тарифа.

Цель написать самую дешевую CMS в RuNet предоставляющую возможности сохранения контента с разделением по рубрикам, ведения форума, загрузок файлов, регистрации, ролей и модерации; личных сообщений пользователей выполнена. :thanks: :victory:

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

Видели ли вы аналоги системы RevolveR CMS, чтобы я посмотрел что можно реализовать из стороннего функционала и к чему стоит стремиться?

xShift 12.02.2019 13:34

Поздравьте, RevolveR CMS не смогли взломать сообщество Habr и ФСБ. Федералы предложили пройти аттестацию у них и получить соотвествующие бумажки о соответствии, но я пока не собираюсь аттестовываться так как есть что подправить и frontend сайта не соотвествует требованиям поддержки Internet Explorer и младших версий MS Edge.

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

BIG INT появится в платной версии движка Enterprise и его ресурс со стоимостью обслуживания будут очень привлекательными так как DBX поддерживает кластер уже сейчас.

Rise 12.02.2019 14:27

xShift, и куда с этими бумажками потом?

xShift 15.02.2019 09:41

Rise, да так ) Повыпендриваться и для заказчиков. Может с ними тендеры проще выигрывать(наверняка проще).

xShift 15.02.2019 13:48

Наконец появилось время и я реализовал DBX engine v1.1.2 с поддержкой чанков кэша. Теперь можно сделать либо свалку кэша в один статический файл на каждую таблицу, либо указать количество партиций на которые нужно сегментировать кэши.

Если записей меньше 2000 то можно свалить в одн файл. Если больше - можно сегментировать. Я выбрал оптимальное значение 5 разделов кэш файла.

RevolveR CMS получит данный движек базы данных в ближайшем обновлении после того, как будут реализованы запросы типа JOIN и UNION.

Также под вопросом создание кэша для JOIN запросов. Тут нужно покумекать и возможно я это реализую также.

При пересоздании кэша страница на PHP обрабатывается за 0.174 sec, а при выборке получается за 0.039 sec на тестах при неполностью созданном кэше(только кэш пользователей, очков, сообщений страниц и рубрик). Кэффициент ускорения можете посчитать сами.

Планируется также интеграция HTML кэша для у корения рендеринга страниц. Но нужна ли она? А то Bitrix тролят меня многоуровневым кэшем.

http://cyberx.pro/dbx/dbx-v.1.1.2/

xShift 19.02.2019 21:01

Теперь DBX в версии обкатки поддерживает INNER JOIN любого уровня.

Сделать его оказалось гораздо проще чем я думал. Сейчас я пишу кэш для запросов по следующей логике. Я беру MD5 строки запроса и прибиваю к имени файла, я паршу имена таблиц и выдергиваю MD5 содержимого этих таблиц. В файле статики я пишу конкатенацию из MD5 всех таблиц участвующих в JOIN(он может быть хоть пятерным) и при последующих селектах сверяю хэши. Если хэши статики актуальны с хэшами БД, то данные берутся из кэша. По скольку DBX при каждом обновлении данных insert, update, delete, truncate, inject автоматически обновляет MD5 хэш, то не стоит волноваться об механизме обновления. Данные всегда будут актуальны :) Yo! RevolveR CMS стает еще круче и оптимизированнее. Это самая выгодная по обслуживаю хостинга система в мире с таким функционалом.



Часовой пояс GMT +3, время: 01:28.