|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Доступна новая версия GT.M V6.2-000 V6.2-000 is a major release that introduces auto-relink, a publish+subscribe model that enables GT.M processes to automatically and safely execute the latest published versions of routines; adds support to read and write encrypted sequential disk files, pipes, and FIFOs; adds the ability to pass SOCKET devices from one process to another; and includes many other enhancements and fixes. + Released as field test grade functionality in a production release, auto-relink provides a way to allow long-running processes to automatically and safely execute the latest versions of routines. It also has uses in development and testing. Each process that wishes to subscribe to updates of object files in a directory appends an asterisk ("*") suffix to that directory name in $ZROUTINES before linking from it. When a process publishes updates to routines (including the presence of new routines, and the removal of existing routines) with the ZRUPDATE command, processes that have subscribed to those updates automatically perform a ZLINK on the next execution of a command or function call that explicitly invokes a routine with a published update. Safe execution means that auto-relink of new versions of routines ensures that prior versions of those routines on the M call stack continue executing correctly through their QUIT commands and are not "clobbered" when control returns to them. Field-test grade functionality in a production release means that FIS considers auto-relink functionality sufficiently robust for use in development and testing, but not robust enough for use in production environments. Except for auto-relink, all other functionality in V6.2-000 is robust enough for use in production. + To protect non-database data at rest, and more securely exchange data with other systems and applications, both GT.M as well as non-GT.M processes, GT.M encryption functionality extends to file, pipe, and FIFO IO. As with all GT.M encryption features, GT.M itself includes no cryptographic software; instead it accesses external cryptographic libraries using a plugin architecture. The GT.M distribution includes a reference implementation of the plugin, which FIS tests during GT.M development against a couple of widely available cryptographic packages. FIS neither supports cryptographic libraries with GT.M nor recommends the use of any specific library - refer to the GT.M Administration and Operations Guide UNIX Edition for more details. + Functionality to transfer DETACHed TCP or LOCAL sockets between GT.M processes using a LOCAL SOCKET device as the rendezvous is a fundamental enabling technology. Rich user interfaces can be built with multiple bi-directional TCP connections between clients such as browsers and server processes, using a layered protocol such as WebSockets. When a client and server wish to add a TCP connection between them, the client can initiate a new connection to a known port on server. An Internet superserver, such as xinetd, can screen the request and start a GT.M process, which can use an application-defined protocol to obtain the process id of the client's existing server process to whom it transfers the connection. The technique can also be used by a server to pass an existing client socket to a different process, for example, one that publishes information, such as a news feed or weather report. V6.2-000 also has numerous smaller enhancements, including: + $ZSOCKET() provides information about a SOCKET device and its attached sockets. + $ZSYSLOG() allows a process to send a message to the syslog without requiring the POSIX plugin. + GT.M for 32-bit Linux is compiled using the i586 ("Pentium compatible") instruction set, allowing it to run on recent System on Chip (SoC) based computers. + MUPIP SIZE includes an estimate of adjacency. + $PRINCIPAL can be a LOCAL socket. The online help facilities provided through the ZHELP command in GT.M, and the HELP commands in the utilities, provide hierarchically organized information current with V6.2-000. These, as well as robustness improvements, fixes to issues, and performance enhancements, are described in the Release Notes. Please do include an upgrade to V6.2-000 in your plans. As always, please do send any feedback our way. Thank you for using GT.M. Regards -- Bhaskar -- GT.M - Rock solid. Lightning fast. Secure. No compromises. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2014, 19:20 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Всегда просматриваю эти замечания по реализации на предмет оценки, насколько GT.M отстаёт или обгоняет Cache' по M-движку (объекты-SQL-web конечно остаются за рамками сравнения). Released as field test grade functionality in a production release, auto-relink provides a way to allow long-running Доросли до уровня Cache' 2007.1 :) To protect non-database data at rest, and more securely exchange data with other systems and applications, both GT.M as well as non-GT.M processes, GT.M encryption functionality extends to file, pipe, and FIFO IOЗдесь обогнали. В Cache' нет стандартной возможности подключить внешний криптопровайдер. + Functionality to transfer DETACHed TCP or LOCAL sockets between GT.M processes using a LOCAL SOCKET device as the rendezvous is a fundamental enabling technology.А вот здесь не очень понял. В Cache' написанный на COS сокет-сервер умеет отдавать открытый сокет дочернему процессу. Но тут речь про DETACHed socket? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 10:12 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Alexey Maslov, Они еще в прошлом релизе написали: V6.1-000 brings a number of other new features, as well. For example: - SOCKET device support for local sockets (also known as UNIX domain sockets). - The ability for a parent process to pass a SOCKET device to a child process in a JOB command. - A $ZCLOSE intrinsic special variable that provides the status of a CLOSE of a PIPE device. - Faster database reads, especially when large numbers of processes (thousands) concurrently access a database file. - Nanosecond timestamps to determine whether a source file is newer than an object file. - Performance enhancements to databases on AIX that use the MM access method. Примеров нету и как это кухня работает, тоже не очень понятно... Хотя они также советуют и дальше пользоваться xinid. Вот что они пишут: We'll try to add examples to the documentation. But let me ask you a question - if xinetd does the job for you, why not continue to use it? We made the change to GT.M because there was a specific application situation, not a general requirement, that made xinetd slightly more awkward to use than GT.M socket passing. I would expect xinetd to be a more general solution because it is better integrated with the OS, e.g., for protection, that you would otherwise have to code with GT.M socket passing. If you have a use case that is not easily addressed with xinetd, please describe it. Thank you very much. Regards -- Bhaskar ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 12:55 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Valeriu, The ability for a parent process to pass a SOCKET device to a child process in a JOB command. - поведение, привычное для Кашиста )), хотя нюансы могут отличаться, конечно. С detached (отключёнными) сокетами понятно гораздо менее понятно. Ну да Бог с ними, хороших всем выходных! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 20:39 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Что очень интересно по моему в этом релизе, использование GT.M на однокристальных микрокомпьютерах ! GT.M for 32-bit Linux is compiled using the i586 ("Pentium compatible") instruction set, allowing it to run on recent System on Chip (SoC) based computers. Полноценную СУБД на устройстве размером кредитной карточки. Например Intel® Edison или Intel® Galileo http://www.intel.com/content/www/us/en/do-it-yourself/maker.html Это что-то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2014, 10:30 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Надо будет создать тестовую виртуалку и потестить как новшества 6.1, так новшества 6.2! Вопрос только во времени и желании. Ни времени, ни желания :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2014, 13:22 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
А теперь появилось желание (правда скудное) и немного времени (порядка одного рабочего дня в неделю), чтобы разобраться в новшествах GT.M 6.1/6.2, как в плане relink , так и по socket ( websocket ). Ибо есть задача построить скелет продукта (системы) с нуля... продукт не на одном хосте... веб-хост и дата-хост... И все это должно уметь масштабироваться - N веб-хостов (для обслуживания уймы пользователей) и M дата-хостов (для обслуживания собственно запросов (сообщений) с веб-хостов (получение данных или выполнение дата-логики). Собственно первой задачей будет размышления о скелете, второй о веб-хосте, третьей о дата-хосте, четвертая о роутере-брокере, который будет разносить запросы (сообщения) от n веб-хоста к m дата-хосту и назад... А остальное уже в процессе разработки... Вот для дата-хоста (GT.M будет его основой) и будет думаться что то по socket (websocket) в GT.M 6.2. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2014, 18:15 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
SergeyLeeM дата-хостов (для обслуживания собственно запросов (сообщений) с веб-хостов (получение данных или выполнение дата-логики).Наверное, предполагается, что "дата-хосты" работают с единой БД? В Cache' такое возможно благодаря протоколу распределенного кэширования (ECP): несколько серверов приложений выполняют прикладной код, обращаясь к удалённым данным в локальных кэшах, (почти) как если бы они были локальными. Как с этим в GT.M? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 11:16 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Alexey MaslovНаверное, предполагается, что "дата-хосты" работают с единой БД? В Cache' такое возможно благодаря протоколу распределенного кэширования (ECP): несколько серверов приложений выполняют прикладной код, обращаясь к удалённым данным в локальных кэшах, (почти) как если бы они были локальными. Как с этим в GT.M? 1. Дата-хост (по крайней мере на сегодняшний момент в моей голове) это база данных GT.M (собственно хранилище данных), с прикладным кодом (для бизнес-логики, обработки данных) и TCP-сервером (для приема и отправки сообщений). Собственно роутер-брокер (промежуточный сервис, или на отдельном хосте, или на Master дата-хосте). Хранилища данных (GT.M) на нескольких дата-хостах будут связаны между собой репликацией от GT.M. Но там вариант репликации Master-Slave. Поэтому пока предполагаю решение с одним Master (сохранение данных - основная специализация) и 1-несколькими Slave (выборка данных и анализ данных - основные специализации). Вариант Master-Master тоже будем экспериментировать, но на основе собственной разработки. 2. О ECP только читал, но не знаком в деталях использования и реализации. Возможно собственная разработка будет отталкиваться и от него. PS: плюс у нас теперь есть новый сотрудник, работавший долго с MUMPS и Cache. Будем думать, и что то свое скорей всего, потому что процедуры репликации от GT.M очень запутаны (для меня :)). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 16:59 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
Alexey MaslovВ Cache' такое возможно благодаря протоколу распределенного кэширования (ECP): несколько серверов приложений выполняют прикладной код, обращаясь к удалённым данным в локальных кэшах, (почти) как если бы они были локальными. Как с этим в GT.M? В GT.M есть такая вот возможность: Virtually unlimited global storageVirtually unlimited global storage: With the ability to map global variables to database regions at the level of subscripts rather than an unsubscripted global variable name, GT.M global variable storage is now limited by factors external to GT.M - available storage, file system limits, memory, and so on. This has additional benefits. For example, if there are ranges of global variables within which there are patterns of sequential access, mapping each range to a different region can take advantage of one of many optimizations in the GT.M database engine for sequential access. See GTM-2168 below. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 17:05 |
|
Новый релиз GT.M V6.2-000
|
|||
---|---|---|---|
#18+
SergeyLeeВ GT.M есть такая вот возможность:Virtually unlimited global storage:В Cache' такое "по жизни" есть, называется subscript level mapping (отображения уровня индекса). Что-то вроде партиционирования индексов. В Cache' БД, по которым "разложен" глобал, могут быть как локальными, так и удалёнными. Удалённая БД - это локальная БД другого сервера Cache', смонтированная по сети (посредством ECP). В GT.M удалённых БД, насколько знаю, нет, поэтому речь может идти только о раскладке глобала по локальным БД, расположенным на физически различных дисках (например). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 10:21 |
|
|
start [/forum/topic.php?fid=39&msg=38751215&tid=1556763]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 415ms |
0 / 0 |