Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)

Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
テーブルのサイズはphpMyAdminでも見れますが、コマンドから見れたほうが何かと便利なので、調べてみました。 全てのデータベースのサイズを確認する # MB単位 select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc; +--------------------------+---------------+ | table_schema | MB | +--------------------------+---------------+ | database1 | 5579.89978790| | databas
皆さん、ご無沙汰しております。 パソコン周辺機器にお金をかけはじめている笹亀です。 エンジニアはパソコンが商売道具なので、 やはり使いやすい物を使いたくなるのは自然な事ですね。 ご参考までに。。。 マウス :Logicool MX Revolution(ビックカメラでポイントで購入 キーボード:Bluetooth Mac用キーボード(会社の人から売ってもらいましたw 今回はTriggerについてご紹介したいとおもいます。 Triggerとは、データの変更などのイベントによってあらかじめ指定した処理を自動的に実行する機能です。 最近使用しているデータベースには必ず備えてある機能です。 Oracle,Postgres,MySQLでも当たり前のようにあります。 実際にはどのようなときに使用するものなのでしょうか? ・特定のテーブルに対しての処理のログをとるため ・特定のテーブルのバックアップを
Amazon Relational Database Service (Amazon RDS) は、Amazonがクラウドで提供するのリレーショナルデータベースサービスです。 今回はMySQLのGUIクライアントであるMySQL WorkbenchからRDSのMySQLに接続する方法を紹介します。 MySQL Workbenchのインストール まずはこちらからMySQL Workbenchをダウンロードし、インストールします。 Windows版の他、Linux版、Mac OS X版などがありますので、ご利用の環境に合わせた物をインストールしてください。 インストールが完了したらMySQL Workbenchを起動します。 起動すると以下のような画面が表示されます。なお、以下の画面はすべてMySQL Workbench 6.1のものです。 コネクションの設定 では、早速RDSへの接続設定を行
https://mariadb.com/kb/en/optimizer-switch/にあるように、MariaDBのオプティマイザはかなり改良されている。 では、MariaDBのオプティマイザ/エクゼキュータはどの程度優秀か、4つのSELECT文の実行を通してMySQLと(ついでにPostgreSQLと)比較してみる。 (2014.12.3追記:オプティマイザについては省略してますが、こんな本がでます。) 結論を先にいえば「MySQLは検索が速い」というのは都市伝説。MariaDBはがんばってるけどPostgreSQLにはまだまだ及ばず。 *念のため。これはベンチマークじゃないよ、オプティマイザ/エクゼキュータの機能比較です。 自分で再確認したい場合はこちらにスクリプト群と実験のやり方を簡単に書いたので参照のこと。 調査環境 同一マシンにMySQL5.6.14、MariaDB10.0.4、
(2014.12.3追記:このblogの内容は、以下の書籍にも反映させた。) SQLレベルの差異 MariaDB5.5とMySQL5.5ではSQLレベルでの違いはほとんどなかった。autoincrementの最大値の扱いくらい。 ただし、MariaDB10.0でREGEXPがマルチバイト対応になったので、アプリ側は注意。 項目 MySQL MariaDB Autoincrement 最大値に達すると、以降は最大値を繰り返す。Warningのみ。エラーにならない。tinyintなら…,125,126,127,127,127… 最大値-1まで。以降はエラーを返す。tinyintなら…,125,126,ERROR,ERROR,… EXPLAIN文 JSON形式 バージョン5.6から 未対応 Optimizer Trace バージョン5.6から 未対応(ただし、MariaDBのほうがオプティマイザ
MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日本語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を意味する。「電話番号を持たない」ということを表現する場合は、NULL ではなく、空の文字列を使う。 NULL 値というものを SQL 初心者はよく混乱します。SQL 初心者は、多くの場合、NULL が空文字 "" と同じであると考えてしまいます。これは違います。たとえば、以下のステートメントは完全に別のものです。 mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); どちらのス
MySQLには、MySQL以外のデータベースからデータをマイグレーションするために MySQL Migration ToolKitというツールが準備されております。 ツール単体ではインストールできず、MySQL GUI Toolsというツールをインストールすると バンドルされてきます。 ダウンロード先:http://dev.mysql.com/downloads/gui-tools/5.0.html ただし、既に開発は終わっているようで、MySQLのサイト上ではMySQL Workbenchにアップグレードするように注意書きがあります。 ※MySQL WorkbenchにはDumpデータをインポートするツールは含まれていますが、 マイグレーションツールは含まれておりません。 今回は、MS Accessから移行する方法をご紹介します。 MS Accessのほか、MS SQLServer、Or
今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。 数字しかないのに意味を含んだID前回のエントリを見ていただいた方から、次のような構造を持った学籍番号があるというフィードバックを頂いた。 全部数値で"入学年度下2桁"+"学科コード"+"学科内のあいうえお順の順位" このようなルールで割り当てた学籍番号を、単なる数値として扱うのであれば大きな問題はない。これは数値しか含まれていないので、SQLのデータ型としては単に数値型を使えば良いだろう。だが、学籍番号から入学年度を判断する、あるいは学科を判断するといった用途で使われるのであればやはり適切ではないといえる。リレーショナルモデルの観点だけからではなく、IDとして適切で
行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生させる方法です。 ロックするタイミング データ更新時 データを複数同時に取得することができるが、途中で更新されていた場合は、更新できない 仕組み テーブルにlock_versionフィールドを追加する lock_versionが書き換わっていたらActiveRecord::StaleObj
先日、作っているアプリケーションにバグが発生しました。バグの内容は次のようなものでした。 同時に存在してはいけないはずのデータが、DB に存在する 整合性のチェックはアプリケーションレベルで行っている 一意制約のような単純なものではないので、アプリケーションレベルで実装 整合性のチェックロジックは正しい これに対し、バグは次のような状況で発生したと仮説を立てました。 ユーザがレコードを一括登録しようとする 登録ボタンを押したがレスポンスが遅い この間、整合性チェックが走っている ユーザはもう一度登録ボタンを押した 2回目の登録の整合性チェックが走り始める 1回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックが完了、INSERTが始まる 2回目の登録の整合性チェックの間、DBにはまだ1回目の登録によるINSERTが実行されていないので、チェックを通過した 結
MySQLには、様々なシステム変数が存在します。 これらは、my.cnfなどの設定ファイルやMySQLの起動時オプションで 制御することが可能です。 システム変数は、以下のSQL文で参照できます。 SHOW VARIABLES; SHOW VARIABLES like 'charset%'; また、以下のSQL文で更新できます。 SET GLOBAL sort_buffer_size = 10 * 1024 * 1024; SET SESSION sort_buffer_size = 10 * 1024 * 1024; システム変数には、サーバ共通の値と セッション(接続)共通の値とがあります。 前者を変更すると、その後開かれる全てのセッションに影響があります。 後者を変更すると、現在のセッションでのみ影響があります。 以下、MySQL5.0.16に対応したシステム変数一覧です。 自動イン
全ての機能を網羅した表ではありませんが、PostgreSQLが Oracle Database と同様の機能があることがお分かりいただけるでしょう。レプリケーションやクラスタリングなどは、PostgreSQL本体とは別にリリースされるサードパーティーでの提供となりますが、pgpool-II, Slony-I をはじめとした実績も豊富なソフトウェアが提供されています。 PostgreSQLが特に強みを発揮する分野として、最後の行に記載したGIS (地理情報システム) があります。GISは位置に関する情報を持ったデータ (空間データ) を管理し、主に地図と組み合わせて位置を表示、検索、分析するシステムです。PostgreSQLでは、PostGIS というサードパーティーソフトウェアで、GISオブジェクトをデータベースに格納し空間データに適した検索を行うインデックスと、GISオブジェクトを解析す
最近なぜか MySQL を使う Ruby アプリを PostgreSQL に対応する羽目になっているのですが、今までほとんど MySQL 以外の RDBMS を触ってなかったので、色々ハマったりしたのでメモっときます。 なお PostgreSQL 歴が浅いので間違ってること書いてるかもしれません。 API プログラムから MySQL にアクセスするには Ruby/MySQL を使っていたのですが、PostgreSQL 用の API を新たに覚えるのは面倒だったので、Sequel を使って書き直しました。 mysql.query("select col1, col2 from table where col3='xxx'") ↓ db[:table].where(col3: 'xxx').select(:col1, :col2) …みたいな感じです。 今までプログラム中に突然 SQL が現れ
HeartCore CMS マルチデバイスに対応したCMS、ヘッドレス対応と、先進機能を全て搭載し、フルマネージドクラウド上で動作する、9年連続No1のCMS
PHPと連携させるデータベース管理システムPostgreSQLとはなんぞや? とういうことを調べてみても、PostgreSQLとは「オープンソースのフリーソフトウエア」の「ORDBMS:オブジェクト関係データベース管理システム」ということで終わってしまう。 やはり、他のソフトウエアと比較して初めて、ソフトウエアそれぞれの個性が分かると思う。 そこでPHPと連携させるのだから、PostgreSQLをMySQLと比較するのが手っ取り早いことに気がついた。 MySQLとPostgreSQLの違いをリストアップしてみた。 MySQLとPostgreSQLの販売価格 MySQL:オープンソースでフリー(無償)と商用(有償)のデュアルライセンス PostgreSQL:オープンソースで完全なフリー(無償)ソフトウエア MySQLとPostgreSQLのアーキテクト MySQL:マルチスレッド Postg
トランザクションとは 1つの作業単位として扱われるSQLクエリの集まりです。 複数のUPDATEやINSERTをひとつの集まりとして、 それらのクエリがすべて適用できた場合のみデータベースに反映します。 ひとつでも適用に失敗したクエリがあった場合は、そのまとまりすべてのクエリの結果は反映しません。 ACID特性 トランザクション処理に求められる4つの特性です。 原子性 (Atomicity) トランザクションに含まれる手順が「すべて実行されるか」「すべてされないか」のどちらかになる性質。 一貫性 (Consistency) どんな状況でもトランザクション前後でデータの整合性が矛盾なく保たれる性質。 分離性 (Isolation) トランザクション実行中は、処理途中のデータは外部から隠蔽されて他の処理に影響を与えない性質。 永続性 (Durability) トランザクションが完了したら、シス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く