Обсуждение приоритетов развития

Здесь обсуждаются общие вопросы, связанные с программой.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

1

Сообщение Yaroslav »

Я считаю, что достаточно дать возможность нормально вытянуть эту информацию без написания плагинов, так как далеко не все это могут. А вот скриптописателей валом.
Поэтому если серверную статистику хранить в БД, как я уже давно говорил (например в SQLite), то и проблем не будет.
Если будет нормальная БД, то чуть более, чем все кастомные нужды можно будет релизовать сторонними решениями на базе скриптов. Так как редкий скриптовый движок не умеет работать с популярными БД.

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

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

Возьмите на примету схему развития линукса, к примеру. Есть ядро, сердце системы, и есть миллионы сторонних поделок, которые написали другие люди потому, что имели возможность. И, как результат, нужные всем или только отдельному числу пользователей, функции оказались уже готовыми и тому, кто делат ядро не пришлось делать ping, traceroute, svn, git, X11 и т.д. Я утрирую, но смысл тут ясен, думаю.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
kamatozzz
Сообщения: 736
Зарегистрирован: 18:58, 21.03.2007
Откуда: Crimea
Контактная информация:

Re: Банеры сервера

Сообщение kamatozzz »

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

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

(я перепутал тему, думал про банер идет речь)
Жилье в Алуште - http://alushta.us/
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждение приоритетов развития

Сообщение Maxim Mirgorodsky »

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

Что же касается получения данных дополнениями, то тоже работа с внешними БД неоптимальна. На данный момент плагины имеют возможность получения практически любых данных напрямую из ОЗУ, что гораздо быстрее.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: Обсуждение приоритетов развития

Сообщение Yaroslav »

Maxim Mirgorodsky писал(а):Базы данных применяются в CommFort только для сохранения информации. Программа читает данные только один раз - во время запуска. Все операции производятся в оперативной памяти. Вы предлагаете перенести данные из оперативной памяти во внешние БД, и вести в реальном времени чтение и запись в эти БД, это недопустимо с точки зрения производительности.

Что же касается получения данных дополнениями, то тоже работа с внешними БД неоптимальна. На данный момент плагины имеют возможность получения практически любых данных напрямую из ОЗУ, что гораздо быстрее.
Вы спекулируете информацией и всё это не похоже на правду, так как если бы всё хранилось только в памяти, то после перезагрузки мы бы начинали с чистого листа. Значит всё таки оно сбрасывается на диск. И, следовательно, ничего не помешало бы так же сбрасывать те же данные с теми же промежутками времени, только в БД. Кроме БД вроде SQLite есть ещё persistent хранилища с быстрым доступом, вроде Redis. Который хранит всё в памяти и переодически своим внутренним механизмом сохраняет данные на диск.
Поэтому не надо меня дурачить и вводить окружающих в заблуждение, мол я не компетентен. Последние три года я только тем и занимаюсь, что разрабатываю высоконагруженные WEB-приложения и кое-что о производительности знаю, хоть и не пишу настольные программы под винды. Эти приложений под нагрузкой с десяток тысяч уникальных посетителей в сутки. I'm just saying...
От данных в оперативной памяти я не предлагаю отказываться (как вы вообще это себе представляете, не хранить данные в паямти? Такого в принципе не пожет быть. Любая переменная, полученная любым путём уже в памяти.). Я лишь предлагаю хранить все данные, которые хранятся сервером чата (база пользователей, их состояние, доска объявлений, база каналов, их настройки и состояния и может что-то забыл) не в каких-то загадочных фаликах, а в БД. Из которой почти любой технически грамотный человек сможет вытянуть в удобоваримом табличном формате любые данные. А любой скриптописатель сможет сделать всё, что угодно с этими данными. И банеры состояния чата сделать, и онлайн посчитать и множество всего, чего сейчас вообще не возможно сделать. И не ныть на каждом углу, мол, сделайте то, сделайте это и годами ждать какой-то мелкой фичи. К примеру тот момент, который вы вообще вниманием обошли, когда на большинстве порталов стараются сделать единый логин на все сервисы, дабы не заставлять пользователя регистрироваться на множестве сервисов и запоминать ко всем пароли. Некоторые локалки делают единый логин вообще на все локальные ресурсы сети как то, треккеры, DC, форумы и т.д. и т.п.
А рассказы о производительности тут притянуты за уши. Потому, что ещё не известно (но я догадываюсь), что будет быстрее работать, система как сейчас с плагином, который будет отлавливать входы/выходы пользователей и всё это считать, а потом так же сохранять в БД или файл. И каждый плагин будет собирать и оперировать одними и теми же данными. Или система, которую предагаю я с нормальной БД, из которой по мере надобности будут дёргаться нужные данные. А особенно, если БД будет спроектирована для использования в условиях высокой нагрузки, где не прийдётся делать тонны JOIN'ов.

UPD Как же вы не слышите очевидных вещей... Чатег, это не вебсервер, не сервер БД с мировым именем... Тут наносекунды процессорного времени не важны на столько. Тут не миллионные конкурирующие подключения... Не важны те ±пара десятков мегабайт. Целевая аудитория — подростки. Узкая специализация. Многие сервера стоят на десктопных машинах с негарантированным аптаймом...
Чем больше вы упростите взаимодействие с продуком, и чем более гибким он будет, тем больше популярности это вам принесёт. Потому, что будет больше плагинов и расширений. Меньше прийдётся делать лично вам и больше сделает за вас комьюнити. А деньги за продукт получите всё равно вы. Почему же нам приходится с вами постоянно «бороться»?!
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждение приоритетов развития

Сообщение Maxim Mirgorodsky »

Yaroslav писал(а):Вы спекулируете информацией и всё это не похоже на правду, так как если бы всё хранилось только в памяти, то после перезагрузки мы бы начинали с чистого листа.
Maxim Mirgorodsky писал(а):Базы данных применяются в CommFort только для сохранения информации.
Yaroslav писал(а):И банеры состояния чата сделать, и онлайн посчитать и множество всего, чего сейчас вообще не возможно сделать.
В базах данных не хранится информация о пользователях онлайн. И еще много чего не хранится, потому что нет необходимости это сохранять до следующего запуска.
Yaroslav писал(а):И не ныть на каждом углу, мол, сделайте то, сделайте это и годами ждать какой-то мелкой фичи.
Плагины позволяют получать любые данные (в базах данных хранится информации гораздо меньше), плюс инициировать и принимать события. Здесь же речь идет лишь о получении части данных путем прочтения файлов БД. Возможности плагинов несоизмеримо шире.
Yaroslav писал(а):Тут наносекунды процессорного времени не важны на столько.
Очень важны, нагрузка колоссальная, одна не просчитанная мелочь может привести к полному зависанию в определенных условиях, не говоря уже о подверженности атакам, ведь работать приходится одновременно с тысячами клиентов, что и отличает данную задачу от типичных веб-задач. Операция, выполняющаяся за 1 милисекунду будет выполняться целую секунду если ее инициирует хотябы тысяча клиентов.
Чем больше вы упростите взаимодействие с продуком, и чем более гибким он будет, тем больше популярности это вам принесёт. Потому, что будет больше плагинов и расширений.
Стараемся идти в эту сторону. Но пока не методом работы с внешними БД. Конечно, стандартизированный формат баз данных даст некоторый прирост возможностей для дополнений не основанных на плагинах. Но так ли это необходимо? Особенно при учете потерь в производительности. В этом направлении новая система плагинов значительно бОльший шаг, чем формат баз данных.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: Обсуждение приоритетов развития

Сообщение Yaroslav »

Maxim Mirgorodsky писал(а):
Yaroslav писал(а):Тут наносекунды процессорного времени не важны на столько.
Очень важны, нагрузка колоссальная, одна не просчитанная мелочь может привести к полному зависанию в определенных условиях, не говоря уже о подверженности атакам, ведь работать приходится одновременно с тысячами клиентов, что и отличает данную задачу от типичных веб-задач. Операция, выполняющаяся за 1 милисекунду будет выполняться целую секунду если ее инициирует хотябы тысяча клиентов.
Но мы-то с вами знаем, что наносекунда на 6 порядков меньше миллисекунды ;)

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

Для всего этого плагин не нужен. С головой достаточно базы.
И вы всё равно прийдёте к тому, что БД нужна. Рано или поздно.

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

И по плагинам ещё раз: одно дело программировать на билдере или прочих, а совсем другое скриптописание. Последним можно заниматься вообще интуитивно, если хоть какие-то признаки мозгов в голове есть. Следовательно процент людей, которые могут использовать скриптовые языки на много выше. А ещё плагины являются частью сервера и сказываются на его работе (в том числе и препятствовать работе могут, репорты уже были), к тому же это закрытый код который, по сути, может делать всё, что угодно на моём компьютере. А вы не проводите сертификацию, вроде AppStore. Поэтому любое из расширений может оказаться вдруг вредоносным.
А скрипты во-первых текстовые и при желании можно посмотреть что делают. Во-вторых многие из них ограничены в функциональности (тот же РНР при правильных настройках не даст навредить).
Вот такие мои очередные аргументы.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
viktor6
Сообщения: 409
Зарегистрирован: 10:30, 03.10.2008

Re: Обсуждение приоритетов развития

Сообщение viktor6 »

А таки да устанавливая на свой комп или сервер какойто плагин, то как говориться (покупаем кота в мешке) нетож не знает что там в середине этого плагина , а вдруг там скриптик для сливания информации.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: Обсуждение приоритетов развития

Сообщение Yaroslav »

Или для воровства моей лиц. копии чата :?
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Обсуждение приоритетов развития

Сообщение Cilvay »

что за идиотский спрор. Одно дело веб программирование, где не надо делать протокол,а код обрабатывают уже риал тайм компиляторы. Ярослав, не надо навязывать бд. Если в веб программировании она необходима, то здесь не ваш случай. Здесь все по другому
и максим вам все правильно обьясняет.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Обсуждение приоритетов развития

Сообщение wizard50 »

я не сторонник навешивать дополнительный софт в виде баз данных, но доводы ярослава для меня убедительны.
Bomber
Сообщения: 125
Зарегистрирован: 06:04, 03.08.2008

Re: Обсуждение приоритетов развития

Сообщение Bomber »

честно говоря меня уже начинает пугать отношение разработчиков к своему продукту,пользователям чата,и к тем кто платит за это деньги покупая этот продукт...Или вы прикрываетесь неудобством для пользователей чата для того что бы держатели серверов не приставали к вам с различного рода предложениями?Полностью поддерживаю мнение Ярослава по этому поводу.Вместо того что бы облегчать труд админа,вы его только усложняете...В частности хочу сказать,что в данный момент переходим на 5 версию.Ранее люди просили осуществить функцию автообновления клиента...Что имеем сейчас?Взрыв в мозгах от того,что 80% пользователей чата просто чайники и реальную потерю онлайна.Три дня уже как на траходроме каком то...И сколько таких проблем,которые вас просили реализовать?Конечно-очень удобно прикрыться якобы неудобством для пользователей,но откуда вам знать что пользователям удобно?Автоматически обновить свой клиент или парить мозги админам?
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждение приоритетов развития

Сообщение Maxim Mirgorodsky »

Bomber

Обсуждение автообновления: http://www.commfort.com/ru/forum/viewto ... 13&start=0
Maxim Mirgorodsky
Администратор
Сообщения: 6869
Зарегистрирован: 09:56, 27.06.2005

Re: Обсуждение приоритетов развития

Сообщение Maxim Mirgorodsky »

Yaroslav писал(а):Но мы-то с вами знаем, что наносекунда на 6 порядков меньше миллисекунды
Наносекунды - это как раз работа с оперативной памятью. А при чтении и записи на жесткий диск - в ряде случаев и десятки миллисекунд.
Cilvay
Сообщения: 816
Зарегистрирован: 14:55, 16.06.2008

Re: Обсуждение приоритетов развития

Сообщение Cilvay »

я не сторонник навешивать дополнительный софт в виде баз данных, но доводы ярослава для меня убедительны.
ну вот для всяких админов чата может и убедительно,которые следят за чатом и что-то слышали о базах данных, но только не для нормальных программеров.
DENS
Сообщения: 389
Зарегистрирован: 09:55, 22.10.2006

Re: Обсуждение приоритетов развития

Сообщение DENS »

wizard50 писал(а):я не сторонник навешивать дополнительный софт в виде баз данных, но доводы ярослава для меня убедительны.
+1
Чат г.Тольятти и Самарской области
Адрес мастер сервера: chat.aido.ru
Ответить