Кіріспе

Virtuoso Universal Server - бұл орта бағдарламалық қамтамасыз ету және деректер базасын басқару жүйесінің (RDBMS), объектiлiк-реляциялық деректер базасының (ORDBMS), виртуалды деректер базасының, RDF, XML, еркін мәтін, веб-қосымшалар серверінің және файл серверінің функционалдығын біріктіретін гибридтік деректер қоры. Жоғарыда аталған функционалдық салалардың әрқайсысы үшін арнайы серверлер болудың орнына Virtuoso "әлемдік сервер" болып табылады; ол бірнеше протоколдарды іске асыратын бір ғана көп желілі сервер процесін іске асырады. Virtuoso Universal Server-дің тегін және ашық бастапқы коды OpenLink Virtuoso деп те аталады. Бағдарламалық жасақтаманы OpenLink Software компаниясы бас бағдарламалық жасақтама архитекторлары ретінде Кингсли Уи Идехен және Ори Эрлинг әзірледі.

Негізгі деректер қоры

Virtuoso кеңейтілген объектiлiк-реляциялық модель ұсынады, ол реляциялық қолжетімділіктің икемділігін мұрагерлікпен, орындалу уақытында деректерді түрлеумен, кеш байлаумен және сәйкестікке негізделген қолжетімділікті біріктіреді. Virtuoso Universal Server деректер қоры физикалық файлды және жадыда сақтау мен операциялық жүйе процестерін қамтиды. HTTP, SOAP және басқа да протоколдар үшін белгіленген портта тыңдаушыларды қамтитын бір негізгі процесс бар.

Сәулет

Virtuoso операциялық жүйенің желілік қолдауын және бірнеше CPU-ны пайдалану үшін жасалған. Ол клиенттер арасында бөлінетін, баптайтын желілер жиынтығымен бір процестен тұрады. Бірнеше желі бір индекс ағашында бір-біріне шамалы араласумен жұмыс істей алады. Деректер қорының бір кэші барлық желілер арасында ортақ қолданылады және ескі кірпік беттер дискіге жазылады. Деректер қорында әрқашан таза бақылау нүктесі күйі және осы бақылау нүктесі күйіне жасалған немесе жасалмаған өзгерістердің дельтасы болады. Бұл транзакциялар commit күйінде жүріп жатқанда, checkpoint күйінің таза сақтық көшірмесін жасауға мүмкіндік береді. Транзакция журналы соңғы тексеру пунктінен бастап барлық транзакцияларды тіркейді. Транзакция журналы файлдары деректер қорының толық, қалпына келтірілетін тарихын қамтамасыз ете отырып, белгісіз уақытқа сақталуы және мұрағатталуы мүмкін. Барлық кестелерді сақтау үшін файлдардың бір жиынтығы қолданылады. Барлық уақытша деректер үшін жеке файлдар жиынтығы қолданылады. Файл жиынтығының ең үлкен көлемі 32 терабайт, 4G × 8K беттер үшін.

Қалқалау

Virtuoso динамикалық бұғаттауды қамтамасыз етеді, бағандық деңгейден басталып, бағандық деңгейге дейін өседі, егер курсор беттің жолдарының көп бөлігін ұстаса немесе бүкіл беттерді бұғаттау тарихы болса. Қалқалау эскалациясы тек басқа транзакциялар бір беттегі құлыптарды ұстамаған кезде ғана болады, сондықтан ол ешқашан тұйық құлыптарға кірмейді. Virtuoso SQL эксклюзивті оқу және транзакцияларды оқшаулауды орнату үшін құралдарды ұсынады.

Транзакциялар

Ізоляцияның төрт деңгейі де қолдайды: кіршіксіз оқу, оқуға берілген, қайталанатын оқу және серияландыру. Оқшаулау деңгейі бір операцияның ішінде операция бойынша нақтылана алады. Virtuoso сонымен қатар Microsoft-тың Таратылған транзакцияларды үйлестірушісі (MS DTC) немесе XA стандарты бойынша ресурс менеджері және/немесе транзакция үйлестірушісі ретінде әрекет ете алады.

Деректердің тұтастығы

Virtuoso ORDBMS деректер қоры бүтіндік пен сілтемелік бүтіндікті қолдайды. Virtuoso сілтемелік тұтастықты қамтамасыз ету арқылы байланысты кестелердегі жазбалар арасындағы қатынастардың жарамдылығын қамтамасыз етеді. Салыстықты шектеулерге мыналар жатады: НОЛЛЫ емес Кесте анықтамасында Virtuoso деректерде NULL мәнін сақтауға мүмкіндік береді. Бұл NULL мәні шын мәнінде мән емес және мәннің жоқтығы деп саналады. NOT NULL шектеуі бағанаға мән беруге мәжбүрлейді. Бірегей кілт Бағанның немесе бағандар жиынтығының бірегейлігі дегеніміз, сол бағанның немесе бағандар жиынтығының мәндері сол кестедегі барлық басқа бағандардан немесе бағандар жиынтығынан өзгеше болуы тиіс. Бірегей кілт NULL мәндерін қамтуы мүмкін, өйткені олар анықтамасы бойынша бірегей бағаланбаған мәндер болып табылады. Негізгі кілт Негізгі кілт - кестедегі жолды бірегей түрде анықтау үшін жасалған ерекше кілттерге ұқсас. Олар бір бағаннан немесе бірнеше бағаннан құралуы мүмкін. Негізгі кілт NULL мәнін қамтуы мүмкін емес. CHECK constraint Virtuoso бағанында деректерді енгізу немесе өзгерту үшін белгілі бір шарттарды орындауды талап ететін тұтастық шектеуін ұсынады. Егер тексерулер қанағаттандырылмаса, онда мәміле аяқталмайды.

Деректер сөздігі

Virtuoso барлық пайдаланушы объектілері туралы барлық ақпаратты db белгілеген жүйелік каталог кестелерінде сақтайды. dba* - тің

Тарих

Virtuoso жобасы 1998 жылы OpenLink деректер орталық бағдарламалық жасақтамасы мен Kubl RDBMS бірігуінен пайда болды.

Kubl RDBMS

Kubl ORDBMS Финляндияда тамырланған реляциялық деректер базасы жүйелерінің тізіміне кірді. Бұл тізімге MySQL, InnoDB және Solid RDBMS/Solid Technologies кіреді. Көптеген технологиялық өнімдер сияқты OpenLink Virtuoso, InnoDB және Solid компанияларының негізгі қызметкерлері Финляндияда деректер базасы технологиясының даму тарихы туралы маңызды түсінік беретін кәсіби үндесу кезеңдерін бөліседі. Heikki Tuuri (InnoDB жасаушы), Ora Lassila (W3C және Nokia Research, RDF және Semantic Web салаларында жалпы Тим Бернерс Лимен бірге жетекші және көреген технология) және Orri Erling (OpenLink Software компаниясының Virtuoso бағдарлама менеджері) барлығы Финляндиядағы Entity Systems деп аталатын стартап компаниясында бірге жұмыс істеді. 1986-88 жылдар. Кейіннен Ори Эрлинг VIA International компаниясымен, VIA/DRE-ді әзірлеушімен, компанияның DBMS өнімінің үстінде LISP-ге негізделген объектке бағдарланған деректерге қол жеткізу қабатын жобалауда жұмыс істеді. VIA-ның негізгі әзірлеу тобы 1992 жылы компанияның жойылуынан кейін Артури Тарянн жетекшілігімен Solid Technologies компаниясын құрды. Хайки Туури өз базасын әзірлеу жобасын бастамас бұрын біраз уақыт Solid-те жұмыс істеді, ол InnoDB (Оракл 2005 жылы сатып алды) болды. 1994 жылы Ори Эрлинг өзінің жеке DBMS әзірлеу жұмысын бастады, ол Kubl болды. Kubl-ді әзірлеуді бастапқыда Финляндияның ең ірі тегін жарнамалық қағаздарын шығаратын Infosto Group қаржыландырды, бұл олардың онлайн қызметтерін дамытудың ішкі бағдарламалық жасақтамасы жобасының бөлігі болды. Keltainen Pörssi онлайн нұсқасы бір кездері 500 000 тіркелген пайдаланушымен Финляндияның ең танымал веб-сайты болды. Kubl деректер қоры іздеу нәтижелерінде "Powered by Kubl" логотипімен көрініс тапты. 1996 жылы 7 қарашада Kubl-дің тегін сынақ нұсқасы жүктеуге қол жетімді болды. Kubl кіріктірілген пайдалану үшін жоғары өнімді жеңіл деректер қоры ретінде сатылды; даму мақсаты секундына транзакциялар тестілерінде ең жоғары балл алуға бағытталған. Linux пайдаланушыларына арналған өнімнің бағасы ерекше қолайлы болды, Linux лицензиясының бағасы 199 долларға бағаланды. 1998 жылы Кингсли Уйи Идехен мен Ори Эрлингтің технологиялық жолдары қиылысқаннан кейін Кубл OpenLink Virtuoso-ның іргетасына айналды, бұл OpenLink Software компаниясының Кублды сатып алуына әкелді.

API қолдау

Деректер қорын қолданушы және жүйелерді интеграциялаушы үшін Virtuoso түрлі салалық стандартты деректерге қол жеткізу API-лерін (клиенттік және серверлік) іске асырады, оларға мыналар кіреді: ODBC, JDBC, OLE DB, ADO. NET, ADO. NET Entity Framework, XMLA.

Контентті синдикациялау және алмасу форматын қолдау

Веб-қосымшаларды әзірлеушілер мен контент синдикаттары, баспагерлер мен тұтынушылар үшін Virtuoso келесі стандарттарды қолдайды: Atom, RSS 2.0, RSS 1.0, OPML, XBEL, FOAF, SIOC.

Сұрау салу тілін қолдау

SQL, SPARQL (көптеген кеңейтулермен), XQuery (Core функциялары кітапханасының іске асырылуы өте толық емес), XPath (тек 1.0), XSLT (тек 1.0)

Платформалар

Virtuoso 32 және 64 бит платформаларда, соның ішінде Windows, UNIX (HP, AIX, Sun, DEC, BSD, SCO), Linux (Red Hat, SUSE) және macOS платформаларында қолдайды.

Лицензиялау

2006 жылдың сәуір айында Virtuoso-ның еркін бағдарламалық жасақтама нұсқасы GNU General Public License нұсқасы 2 бойынша қол жетімді болды. Бағдарламалық қамтамасыз ету қазір коммерциялық және ашық бастапқы кодты лицензия нұсқаларында қол жетімді.