1 Востаннє редагувалося tim (19.08.2014 09:53:46)

Тема: Caché

We develop advanced data management, connectivity, and analytics technologies that help our clients make breakthroughs in healthcare, financial services, government, utilities, and other industries that demand the highest software performance and reliability.

Leading organizations around the world such as Kaiser Permanente, NHS Scotland, TD Ameritrade, Petrobras, and many more rely on our products to power their core enterprise systems.

http://www.intersystems.com/who-we-are/our-passion/
Для інформації. Caché - ієрархічна БД, на певних етапах її називали постреляційною.
В Києві БД Cache використовується в УкрІНТЕІ та ще декількох підприємствах.
http://www.uintei.kyiv.ua/main.php
Розробників можна "по пальцях перелічити".
В Росії позиції БД на ринку значно сильніші.
http://intersystems.ru/index.html
приклади впровадження
http://intersystems.ru/casestudies/index.html

2

Re: Caché

Для інформації. Caché - ієрархічна БД, на певних етапах її називали постреляційною.

Ну то опишіть детальніше її, покажіть шматки коду, розкажіть в чому її переваги

Подякували: koala1

3 Востаннє редагувалося tim (20.08.2014 10:14:11)

Re: Caché

Преимущества Caché

Впечатляющая производительность
Благодаря тому, что в Caché вместо громоздкой головоломки двумерных таблиц используются многомерная модель данных и методы разреженного хранения данных, доступ и редактирование требуют гораздо меньше дисковых операций ввода/вывода (I/O). Сокращение же I/O означает, что приложение будет работать быстрее.

Высокая масштабируемость
Транзакционная многомерная модель данных в базирующихся на Caché приложениях позволяет легко наращивать число клиентов (до многих тысяч), сохраняя высокую производительность. Это объясняется тем, что доступ к данным в многомерной модели не зависит от объема или сложности базы данных в отличие от реляционных моделей. Транзакции получают необходимые им данные без выполнения сложных соединений таблиц или «скачков» из таблицы в таблицу.
eлогической блокировки при изменении данных вместо блокировки физических страниц – еще один важный фактор обеспечения высокого параллелизма наряду с эффективным управлением данными в сетях.

Быстрая разработка
Разработка в Caché происходит гораздо быстрее, чем в других технологиях, так как используемые структуры обеспечивают естественный и понятный формат хранения сложных данных, не требуя при этом развернутых или сложных описаний и определений. Прямой доступ к глобалам очень прост – он основан на том же синтаксисе, что и доступ к массивам-локальным переменным.

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

http://intersystems.ru/cache/technology … de_02.html

код
команди скорочуються до однієї букви, тому спочатку "нічого не зрозуміло"

Setting up the %ZLANG* Routines
%ZLANGC008 ; MSM command routines
;
ZSS ; do a System Status
d ^%SS
q
%ZLANGF008 ; MSM function routines
;
ZRTN(x) ; find out what routine a process is curren
tly running
q $p($v(-1,x),"^",6)
%ZLANGV008 ; MSM special variable routines
;
ZTIME ; return the current time
d INT^%T
q %TIM

Example of Calling the Custom Code
myrtn ; Call the code added to the ^%msql* routines
;
n pid,rtn,x
s x=$ZU(55,8) ; Change to MSM mode
ZSS
r !,"Enter a process ID: ",pid
s rtn=$ZRTN(pid)
i rtn="" s rtn="no routine"
w !,"At "_$ZTIME_", process #"_pid_" was running "_
rtn_"."
s x=$ZU(55,0) ; Return to native mode
q

http://intersystems.ru/cache/education/ … 5cache.pdf
це старий MSM, після якого  Caché v3.x

Зараз є Cache Object Script
http://www.k-press.ru/cs/2005/4/cache/cache.asp

Describes Caché language bindings (used to write Caché client applications in Java, C++, .NET, and other languages) and gateways (used to call client applications from a Caché server).

http://docs.intersystems.com/cache20121 … ETLangBind

головне в Cache - сама БД

At the heart of Caché lies the Caché Database Engine. The database engine is highly optimized for performance, concurrency, scalability, and reliability. There is a high degree of platform-specific optimization to attain maximum performance on each supported platform.

Caché is a full-featured database system; it includes all the features needed for running mission-critical applications (including journaling, backup and recovery, and system administration tools). To help reduce operating costs, Caché is designed to require significantly less database administration than other database products. The majority of deployed Caché systems have no database administrators.
The major features of the database engine are described in the following sections.

All data within Caché is stored within sparse, multidimensional arrays. Unlike the multidimensional arrays used by typical OLAP (online analytic processing) products, Caché supports transaction processing operations (inserts, updates, locking, transactions) within its multidimensional structures. Also, unlike most OLAP engines, these multidimensional structures are not limited in size to available memory. Instead, Caché includes a sophisticated, efficient data cache.
Because Caché data is of inherently variable length and is stored in sparse arrays, Caché often requires less than half of the space needed by a relational database. In addition to reducing disk requirements, compact data storage enhances performance because more data can be read or written with a single I/O operation, and data can be cached more efficiently.

http://docs.intersystems.com/cache20121 … IC_C112436
тобто дані зберігаються не в таблицях, а в узлах одного або кількох графів

What Is Caché?

Welcome to Caché, a high-performance object database.
This introduction provides an overview of the major components and technologies that make up Caché. These components include:

    A powerful, multidimensional transaction engine that includes the ability to create distributed databases.
    A unified data architecture uniting the power of objects with high performance SQL.
    A suite of technologies and tools that provide rapid development for database and web applications.
    Native, object-based XML and Web Services support.
    Automatic interoperability via Java, JDBC, ActiveX, .NET, C++, ODBC, XML, SOAP, Perl, Python, and more.

http://docs.intersystems.com/cache20121 … =GIC_INTRO
Движку БД кілька десятків років, все "вилизано".

теми на habr
http://habrahabr.ru/company/intersystems/

4

Re: Caché

ClassMethod ListExecute(ByRef qHandle As %Binary, Directory As %String, Flat As %Boolean, System As %Boolean) As %Status
{
    Set qHandle=$listbuild(Directory,Flat,System,"")
    Quit $$$OK
}

ClassMethod ListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = ListExecute ]
{
    Set Row="",AtEnd=0
    If qHandle="" Set AtEnd=1 Quit $$$OK
    If $list(qHandle)'=""||($list(qHandle,4)=1) Set AtEnd=1 Quit $$$OK
    set AtEnd=1
    Set rtnName=$listget(qHandle,5)
    For {
        Set rtnName=$order(^rCJS(rtnName))    Quit:rtnName=""
        continue:$get(^rCJS(rtnName,«LANG»))'=«CJS»
        set timeStamp=$zdatetime($get(^rCJS(rtnName,0)),3)
        set size=+$get(^rCJS(rtnName,0,«SIZE»))
        Set Row=$listbuild(rtnName_".cjs",timeStamp,size,"")
        set AtEnd=0
        set $list(qHandle,5)=rtnName
        Quit
    }
    Quit $$$OK
}

http://habrahabr.ru/company/intersystems/blog/222563/

5

Re: Caché

Ви ж розумієте що всі ці бази данних робляться щоб просто зрубити бабок?
Postgres наше вьсо, а якщо хочеться дивного то Mongo.
Навіщо взагалі платити за вашу подєлку?

6

Re: Caché

Singularity написав:

Ви ж розумієте що всі ці бази данних робляться щоб просто зрубити бабок?

Ви ж розумієте, що 99% того, що робиться в світі, робиться щоб просто зрубити бабок?

Подякували: quez1

7

Re: Caché

koala написав:

Ви ж розумієте, що 99% того, що робиться в світі, робиться щоб просто зрубити бабок?

Singularity понімать це

8

Re: Caché

Singularity написав:

Навіщо взагалі платити за вашу подєлку?

Cache "вставляє" Oracle по швидкодії в більшості випадків :)
Якісні СКБД завжди платні...