ティベロ 最初のパンケーキ

最近、私の仕事の中で新しい仕事を探す期間が終わりました。 この期間のインタビューの1つで、新しいDBMSが世界中に登場し、その開発者がOracle Almightyを覆すと約束していることを知りました。 魅力的な約束はすぐに、この海外技術の奇跡を試してみたいという私の願いを引き起こしました。 それは韓国のDBMS Tiberoに関するものでした。



ウィキペディアによると:

Tibero-これは、韓国企業TmaxSoftの一部であるTibero Corporationが作成および配布するDBMSの名前です。 この製品の開発は2003年に開始され、2008年にはディスクベースのクラスターを共有リソース(共有ディスクベースのクラスター)として提供する世界で2番目の企業となりました。

...

Tiberoは、SQLを含むOracle製品との完全な互換性のため、Oracleの代替と見なされます。

Tiberoは、ACIDサポート(原子性、一貫性、分離、耐久性)によって提供されるデータベーストランザクション(SQL式のよく考えられたセット)の信頼性を保証します。

...

Tiberoは、以前のDBMSの欠点に対処するために、独自のスレッドアーキテクチャ(Tiberoスレッドアーキテクチャ)を実装しました。 その結果、Tiberoは、より少ないサーバープロセスを使用して、CPUやメモリなどのシステムリソースを効率的に使用できます。 これにより、Tiberoはパフォーマンス、安定性、スケーラビリティ、および開発とカスタマイズの容易さの組み合わせを提供できます。 さらに、DBMSにより、多くの標準インターフェイスを使用するユーザーと開発者は、他のDBMSやアプリケーションと簡単に統合できます。



さらに、「Tibero Active Cluster」(Oracle RACに類似したデータベースクラスタリングシステム)を改善するために、ブロック転送テクノロジーが使用されました。 Tiberoは、自己調整パフォーマンス最適化、堅牢なデータベース監視システム、パフォーマンス管理システムをサポートしています。



韓国では、Tiberoは、金融、製造、広報など、さまざまな事業分野を持つ450社以上に紹介されています。 また、2011年7月の時点で世界の14を超える企業と提携しています。


このテキストはティベロのスタッフによって書かれたように感じますが、私たちは彼らの良心に任せます。



インターネットを詳しく調べると、1年ほど前にロシアに駐在員事務所が開設され、さらに「現在、ロシアではさまざまな分野で約50のプロジェクトが実施されています。 多くの顧客(たとえば、ロシア連邦の口座商工会議所の連邦情報センター)にとって、アジア方向(TmaxSoftがリーダー)で代替ソリューションを模索する理由の1つは、TmaxSoftがサポートしていないIT産業に対する米国の制裁措置です。 ロシアのTiberoの顧客には、MTS、ロシア連邦国防省、MosEnergoSbyt、ロシア連邦の口座商工会議所、ロシア銀行、連邦関税局などがあります。



一緒に、これはこの製品への私の関心をさらに高めました。 そして、私はそれを試してみることにしました。 これを行うために、GoogleクラウドにDebian 7.9(wheeze)を搭載した小さなサーバーをレンタルしました。 オプションは次のとおりです。



マシンタイプ:n1-standard-1(1 vCPU、3.75 GBメモリ)

CPUプラットフォーム:Intel Ivy Bridge

ブートディスクとローカルディスク:40 GBの標準永続ディスク



あなたが最初に出くわすのは、ロシア語での非常に少ない情報量であり、英語ではあまり厚くない。 2番目は、 TiberoOracleのようにトレーニングと開発のニーズに対応するDBMSの無料バージョンを提供しないことです。 Tiberoは、DBMSの以前のバージョンのテストライセンスも半年間提供していますが、見つけるのは簡単ではありませんでした。 これを行うには、この公式を見つける必要がありましたが、インターネットサイトの腸に隠れていました: http : //technet.tmaxsoft.com/ 。 登録し、最新バージョンの配布キットをダウンロードし、無料のライセンスがないことを確認し、配布キットを削除し、古いバージョンの配布キットとインストール手順をダウンロードします。



したがって、手順をダウンロードし、少なくとも1.5、 gcc > = 3.4.6、xmlサーバーライセンスファイル、512 MB RAM、スワップファイル1 GB、300mb / tmp、300MBのJDKが完全にインストールされたときにハードドライブに必要であることを理解しますクライアントのみを配置した場合は200 MBです(ただし、説明のテキストでは、1.5 GBがなければデータベースは配信されません)。 明らかな理由ですべてのソフトウェア要件を満たしていませんでしたが、それらはRedHat Enterprise Linux AS / ES 2.1、3.0、4.0です。 また、カーネルバージョンの要件についても記載されています。少なくとも2.6である必要があります。



私にとって最も奇妙なことは、インストールのためにカーネルパラメータを変更する必要があることです! 私が大企業で、お金とサーバーがたくさんあるなら。 そして、私が小さな会社で、すべてを節約したら、私は何ができますか? 私は安い韓国のOracleを購入し、サーバーは1つしかありません。 回転するものはたくさんありますが、何とかして代替手段なしにカーネル設定を変更するように強制するのはあまりクールではありません。



OK、/ etc / sysctl.confファイルを次のように修正しました。



kernel.sem = 10000 32000 10000 10000 kernel.shmall = 2097152 kernel.shmmni = 4096 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 1024 65000
      
      







Tiberoの要件次のとおりです。



 semmsl 10,000 /proc/sys/kernel/sem semmns 32,000 semopm 10,000 semmni 10,000 shmall 2,097,152 /proc/sys/kernel/shmall shmmax half of physical memory (in bytes) /proc/sys/kernel/shmmax shmmni 4,096 /proc/sys/kernel/shmmni file-max 6,815,744 /proc/sys/fs/file-max ip_local_port_range 1024 - 65000 /proc/sys/net/ipv4/ip_local_port_range
      
      





/ sbin / sysctl -pを使用して設定を適用し、サーバーを再起動しました。 一時的なインストールファイルの格納場所を示すために、以下を作成しました。

 export TB_INST_TMP_DIR=/opt
      
      





すべての準備が完了しました。 インストーラーを実行します。 指示と並行して、インストーラーを使用して、自分で何かを修正することにしました。 たとえば、散乱はいくつかのファイルにログを記録します。 その結果、インストーラーは私に言った:「すべてはすばらしい、あなたは始めることができる。」 しかし、私は起動に成功しませんでした。 まず、これをしなければなりませんでした:



 source ~/.profile
      
      





その後、そのようなプログラムは存在しないとは言われなくなりましたが、単に「Tip file open failure。:No such file or directory」と言いました。 インターネットでの長い掘り出しは、合理的なものには至りませんでした。 文書は、悪の根源はTB_SIDによって設定されていないと主張していましたが、 TB_SIDは設定されていて、プログラムはまだ不幸でした。 データベースの作成を開始し、すべての設定を「デフォルト」に設定する必要がありました。 その後成功しました! ベースが獲得しました。



その後、Googleサーバーを離れてクライアントを構成したいという要望がありました。 ただし、公式ドキュメントでは、クライアントインストーラーファイルをダウンロードすることを推奨しています。Windows専用の例と、このファイルの入手先については記載されていません。



Ubuntuを搭載したラップトップでDBMSインストーラーを使用してクライアントを配置しようとすると、ドキュメントと現実の間に素晴らしい対応が見つかりました。 -Gスイッチは、グラフィカルモードではなくヘルプにつながります。グラフィカルモードでは、 -i guiまたは-i swingを使用する必要がありますが、最初のユーザーも2番目のユーザーもUbuntuで動作しませんでした



最終的に、 Ubuntuを搭載したラップトップにTibero全体をインストールする必要がありました。 ソースを追い出します〜/ .profileその後、 TNSNAME.oraの類似物を見つけます。 これは$ TB_HOME / client / configフォルダーにあり、 tbdsn.tbrと呼ばれます



彼が持っているフォーマットは非常に馴染みがあります



 DBTNS= ( (INSTANCE=(HOST=hostname) (PORT=port) (DB_NAME=DB_NAME) ) )
      
      





そして...勝利! コマンドについて:



 tbsql sys/syspassword@DB_TNS
      
      





リモートホスト上のデータベースに接続しました(ダンスをファイアウォールの周りにタンバリンで置きます)。



一部のテストでは、システムの準備ができていると言えます。



私のプロファイルではないので、適切なパフォーマンステストを行いませんでした。 たぶん誰かが興味を持ってそれをするでしょう。 私自身にとって、 Oracleとの外部の違いはほとんどないと言えます 。 新しいPSM言語でさえ、次のようになります。



 CREATE [OR REPLACE] PACKAGE BODY book_manager IS PROCEDURE add_new_book(v_author VARCHAR2, v_name VARCHAR2, publish_year DATE) IS BEGIN IF substr(v_name, 1, 1) >= 'a' AND substr(v_name, 1, 1) < 'k' THEN INSERT INTO books VALUES (1, v_author, v_name, publish_year); ELSE INSERT INTO books VALUES (2, v_author, v_name, publish_year); END IF; COMMIT; book_cnt := book_cnt + 1; END; PROCEDURE remove_lost_book(v_author VARCHAR2, v_name VARCHAR2) IS BEGIN DELETE FROM books WHERE author = v_author AND name = v_name; COMMIT; END; FUNCTION search_book_position(v_author VARCHAR2, v_name VARCHAR2) RETURN NUMBER IS book_position NUMBER; BEGIN SELECT kind INTO book_position FROM books WHERE author = v_author AND name = v_name; RETURN book_position; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('NOT EXIST...SORRY'); RAISE; END; FUNCTION get_total_book_cnt RETURN NUMBER IS BEGIN RETURN book_cnt; END; BEGIN book_cnt := 0; END;
      
      





これまでのところ、 ドキュメンテーションと情報量によると、この製品は広範囲の操作に入ることができないように思えました。 しかし、多分彼は何かの価値があり、あなたは彼を見る必要がありますか?



皆さん、幸運とさようならに感謝します!



パート2



All Articles