MicrosoftSQL ServerMySQLOracleDatabasePostgreSQLSolarWinds DPAデータベース運用主要RDBMS製品の比較2022.09.01 渡部 亮太 主要RDBMS製品の比較 – アーキテクチャ, スキーマ, データベース, メモリOracle ACE Proの渡部です。 主要なRDBMS製品についてアーキテクチャを比較します。 大枠を整理することが最大の目的です。細かい例外事項や拡張機能は適宜記載を割愛しています。2022年9月時点の最新バージョンをベースに記載していますが、記載内容にバージョン依存は少ないはずです。 時間ができた時に随時追記予定です。 もし誤りを見つけた場合は、優しく教えていただけると嬉しいです。→ https://twitter.com/wrcsus4 or ryota.watabe at cosol dot
はじめに データアナリティクス事業本部のkobayashiです。 最近AmazonLinux,macOS環境でSQL Serverからデータを取得する必要があったためどのような手段があるか調べていたところ「SQL Serverコマンドラインツール」なるものがあることを知り使ってみました。その導入方法と使い方を簡単にまとめます。Linux にSQL Server コマンドライン ツールsqlcmd および bcp をインストールする(公式) 環境macOS MojaveSQL Server 2017 インストール方法AmazonLinuxへのインストール 上記の公式サイトのリンク先の「RHEL 7 にツールをインストールする」の項に記載されている内容に従えば問題なくインストールできます。 $curl https://packages.microsoft.com/config/r

IntelliJ IDEADatabase Tool ここ一年くらいは IntelliJ 組み込みのデータベースクライアントでことを済まして来ました。対応するデータベースプロダクトも多いですし、専用のクライアントツールに引けを取らない機能は素晴らしいです。 qiita.com その一方で、兼ねてより以下のような不満がありました。 データベースへの接続情報等をプロジェクトごとに持ってしまうので、複数プロジェクトにまたがる際に扱いづらい。 そう思って接続情報を保存するためだけのプロジェクトを作ってみたものの、ウィンドウが増えてくると Cmd + Tab の切り替えが面倒。 だからと言って All Product Pack やDataGrid 単体で買うのはコスパが悪い気がする。 TeamSQL そう思って最初に検討したのが TeamSQL です。せっかくならモダンなUI で新しいプロダク

IBM Power System S822LC for HPC(通称”Minsky”)をはじめとした、NVIDIA DGX-1、HPE、Cisco、DellなどのさまざまなGPU搭載サーバープラットフォームやパブリッククラウドのGPUインスタンスで展開でき、データウェアハウスや高度な分析、ビジュアライゼーション、機械学習やディープラーニングなど、近年のビッグデータ分析に必要な機能を統合的に提供できる唯一のデータベース製品です。GPUは、繰り返して同様の命令を並行して実行するのに適した小型で効率的な数千のコアを中心に設計されています。 これにより大規模なデータセットに必要な計算処理負荷が高いワークロードに適しています。 KineticaはGPUの高い並列演算処理能力を活かして、従来のRDBMS、NoSQL 、インメモリデータベースよりパフォーマンスを100倍以上に向上させることが出来ますし

PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLとMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLとMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ

前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ -セキュリティとパフォーマンスのために 範囲 検

排他(ロック)RDB(Oracle)の機能の一つに、排他(ロック)がある。 SELECT ~ FOR UPDATE [2009-01-19] 排他のタイミング [2007-09-15] SELECT ~ FOR UPDATE レコードをロックするには、SELECT文でFOR UPDATEを指定する。[2009-01-19] SELECT * FROMemp WHEREempno=7902 FOR UPDATE; FOR UPDATEでは、自分がロックしたい対象を 他のトランザクションがロックしている場合に、待つかどうかを指定するオプションがある。 WAITだと、相手がロック解除(コミットまたはロールバック)するまで無期限に待つ。 NOWAITだと、即座に戻る。(ORA-00054「リソース・ビジー、NOWAITが指定されていました。」が発生する) 省略時はWAIT(無期限に待つ)。
下記のようなシステムでパフォーマンスが良さげなSQLite を使用予定ですが、もっと速いものが無いか確認のため他のデータベースのパフォーマンスを計測してみました。SQL 利用前提ですが、NoSQL が圧倒的な性能を出す場合は検討する必要があるので KVS も確認しました。 データ件数は 1 億件程度、JDBCSQL 利用可能 INSERT、UPDATE はバッチ SELECT は主キーアクセス性能を重視 将来スケールアウトのための分散はありえるが、スタンドアロンで遅いのはだめ データベースのパフォーマンス比較 計測したデータベース データベース名 タイプ 形態 評判 計測についての備考SQLiteRDB 組み込み ※2 おもちゃ、Android標準 JDBC操作 ※1 H2RDB 組み込み ※2 組み込み最速 JDBC操作 ※1 DerbyRDB 組み込み ※2Java標準で

米国で行われているMySQL Connectというイベントで、ついにMySQL 5.6 RC(リリース候補版)が発表された。リリース候補版ということは、これが次の正式版になるということだ。MySQL 5.5は5.1から凄まじい進化を遂げたバージョンであった。だが、MySQL 5.6はさらにそれを上回る進化を遂げている!正直ここまでの進化を誰が予想しただろうか、いや誰も出来なかったであろう。これまで、α版が出たときから何度か新機能について紹介してきたが、今回改めてMySQL 5.6の新機能を振り返ってみようと思う。すべてまとめるともの凄い内容だ。興奮して夜も眠れなくなること請け合いだ。MySQLの進化が止まるのでは?などという心配は吹き飛び、もはやもうちょっと小出しにしなくて良かったのか?と心配してしまうレベルである。 それではMySQL 5.6の新機能について紹介していこう。 InnoDB

というわけで、JPOUG> SET EVENTS 20120721 | JapanOracle User Groupに参加して発表をしてきました。通常の勉強会と比べて発表者と聴講者の一体感を増すための工夫がなされていて、とても良かったと思います。有限コーヒーかと思ったら無限ビールだったのも驚きです。JPOUGの運営メンバのみなさま、会場を提供してくださった日本オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは、データベース負荷テストツールまとめ(5)と題して過去4回分のまとめと自作ツールの紹介をさせていただきました。JdbcRunnerはOracleDatabase、MySQLとPostgreSQLの間でTPC-BとTPC-Cの性能比較ができる唯一のオープンソースソフトウェアですので、いろいろ試してみていただければと思います。試した結果

さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。 しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わることになった。 ※ あと、KVSでいいじゃんって言ってる人もいるけど、それはKVS導入の苦労を知らない人だと思う。KVSの苦労は後で書く。 僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。 100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、 要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービスである。 中でも僕はDBやフレームワークの設計とアーキテクトっぽいことを担当している。 僕がこの現場に来て、驚愕した文化が2つある それは「Join禁止

データベース設計の話をしていて、「連番の主キーは業務上意味のないデータだから、テーブルに持たせるのはムダだ。複合主キーにするべき」という意見を聞く機会がありました。 脊髄反射で「ないわー」と思ったものの、理由を上手く説明できなかったので、改めて考えてみました。 その結果、次のような結論に至りました。 単一の連番カラムによる主キーと、複合カラムによる主キーとで迷ったら 実装をシンプルにし、業務変更の影響範囲を小さくするために、複合主キーを避ける というわけで、調べたことや考えたことをメモしておきます。# 間違っている部分があれば、教えていただけると嬉しいです。 (2011/07/25 追記)複合主キーとサロゲートキーについては、要件やシステムに依存して多様な判断がありうると思います。にもかかわらず、「避けるべき」というタイトルにしたのは極端でした。申し訳ありません。ご指摘下さった皆さん、あり

一般的なシステムで広く利用されているリレーショナルデータベースですが、システムの進化と共にデータベースの構造も複雑になりがちです。RestMQの作者、Gleicon Moraes氏の公開したスライドがシステムが複雑化していく様子をわかりやすく説明した上で「アンチパターン」を提示していました。 それによるとデータベースのアンチパターンは以下の通り。 動的なテーブルの作成 テーブルをキャッシュとして使う テーブルをキューとして使う テーブルをログとして使う 分散したグローバルなロック ストアドプロシージャ 使われない項目JOIN地獄ORMによって繰り返されるクエリ 負荷のコントロール どれも理由があって採用されるデザインですが、確かに後に問題を引き起こした経験もあり耳が痛い感じですね。スライド内ではそれぞれの問題についての解決策としてMongoDBやRestMQなどの利用を進めています。「

「A5:SQL Mk-2」は、SQL文の入力支援やER図作成などの機能を備えた高機能なSQL開発環境。Windows 98/2000/XP/Server 2003/Vista/Server 2008/Vista x64に対応する寄付歓迎のフリーソフトで、作者のWebサイトからダウンロードできる。本ソフトは、SQL文の作成・実行を行える汎用のデータベース開発環境。ADOやODBCドライバーを利用して各種データベースに接続可能で、本ソフトで作成したSQL文を実行し、その結果を表示できる。また、SQLの実行計画を取得したり、実行結果を「Excel」へ出力することも可能。 画面はサイドバーと編集画面の2つに分割されており、サイドバーではデータベースおよび関連するスキーマ・テーブル・ビューといった項目がツリー形式で表示される。編集画面はタブ切り替え式になっており、SQL文やテーブルなどを複数開いて
1. 無料のOracleデータベース 読者の皆さんはOracleデータベースに無料版が存在することをご存知でしょうか?残念ながら日本オラクルから情報が出てないので、知らない方も多いと思います。 無料版のOracleデータベースとはOracleDatabase 10g Express Edition(以下「Oracle XE」)で、多少の制限はありますが中身は完全なOracleデータベースです(制限については後述)。 金額的に敷居が高いと感じていた方であっても、無料でOracleデータベースを用意することができます。開発プラットフォームとしてだけでなく、小規模システムであれば運用プラットフォームとしても十分に使えると思います。もちろん、Oracleデータベースの勉強にも有用でしょう。 データベースはデータを管理し、簡単に検索・抽出などをするために利用されます。通常はデータの管理等に利用され

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く