なからなLife

geekに憧れと敬意を抱きながら、SE、ITコンサル、商品企画、事業企画、管理会計、総務・情シス、再び受託でDB屋さんと流浪する人のブログです。

CentOS + Python3 + Jupyter NotebookでRDBMSに対する分析環境を作る

Jupyter Notebook環境構築エントリとか、世の中に溢れかえっているのは承知の上なんで、ほぼ自分用の備忘です。 未来の自分に語りかけてます。この手順、絶対忘れる。。。 皆さんよく使うゴリゴリのPython+pandasなど各種ライブラリではなく、「RDBMSの中身…

MySQLで直感的じゃない動きをするRAND()とSYSDATE()について

端的にいうと SELECTのWHEREの条件の「右辺」に、RAND()やSYSDATE()のような非決定性関数を使うと、想定外のことが起こる。 戻ってくる行数が想定と異なる。 Indexが効かなくなる。(テーブルフルスキャン走る) どっちもなかなかのインパクトです。 追記:2…

PostgreSQLの拡張機能の有効化(オンプレ/AWS RDS)

OracleともMySQLともちがう、「豊富な拡張」 PostgreSQLの特徴的なところだと思います。 なんなら最初から入っていてくれよ、と愚痴りたくなる程度に、結構めんどくさかったので、備忘録的な意味合いで残しておこうかと。いや、この拡張機能を利用者自らが開…

RDS for MySQLで変更すべきパラメータチューニング

呼ばれたきがしたので soudai.hatenablog.comなお、InnoDB限定のお話ですよ。MyISAMを(システムテーブル以外で)使ったことない若輩者なので。ちょっと余裕がないこともあり、思いつく最小限のことだけ書きます。追加で思いついたら後ほど&温かいフォロー…

PostgreSQLのトランザクション制御でさっそくハマった2点

久しぶりにPostgreSQLの門に入ったので 前に触ったのは、8.1.2~8.1.6くらいだったと思います。その間、非エンジニア業もやってた(企画系および管理系)ので、完全に忘れてた。なので、謙虚に入門したいと思います。 OracleやMySQLから移ってくるにあたって…

MySQL 8.0.14でSELECT COUNT(*)は、バッファに載っていても載っていなくても加速する! - 「innodb_parallel_read_threads」検証その5

MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife MySQL 8.0.14で全件 COUNT(*)でも加速…

MySQL 8.0.14でSELECT COUNT(*)がパーティションテーブルでも加速する! - 「innodb_parallel_read_threads」検証その4

ココまでのおさらい MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife MySQL 8.0.14で全…

MySQL 8.0.14で全件 COUNT(*)でも加速しない!?- 「innodb_parallel_read_threads」検証その3

MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife の続きです。まさかの、ネガティブ情…

MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2

「その1」と真逆のタイトル atsuizo.hatenadiary.jp の続きです。要するに、innodb_parallel_read_threadsの効果がないケースの話です。いや、思った以上に、効果がない。。。 というわけで、暗い感じのスタートになりましたが、前回の続きで 「3.「innodb_…

MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1

それは突然やってきた MySQL 8.0.14がGAされました。dev.mysql.comまあ、MySQLは結構な頻度でリリースがありますし、「GAとはなんぞや」との名言が生まれる程度に、マイナーリリースでも機能が増える、パラメータが増える、既存パラメータのデフォルト値が変…

Linux on VirualBoxな環境でルートボリュームが足りなくなったときの対処方法

後で「やっぱ足りない」ってなるのが、ゲストマシンのストレージ割り当て なれてないと、躓くところが2点ありますね。<自分・VirtualBoxの仮想ストレージ自体を増やす ・ゲストマシンのOSから、増やしたストレージを認識させるたまにしかやらないので、すぐ…

新年あけまして2019

例年通り 休み=家族にふりまわされサービスやら帰省やらで、振り返りも展望も整理できない日々です。 2017年末の家庭内インフルエンザ・ラッシュは2018年末にはなく、クリスマスの週末に一人微熱を出し、年末最後の仕事に影響出さないように連休中は一人布…

MySQLをAWS RDSで使うときに注意すること

MySQL Casual Advent Calendar 2018 - Qiita 14日目の記事です。MySQLネタで書くと、Casualといいつつ、わりとCasualじゃない話になりがちなので、Casualレベルのお話を。 いや、あんまり優しくない制限の話なんだけど。。。 AWS Relatioal Database Service…

Waiting for table metadata lockの対処の仕方、おさらい。

MySQL Casual Advent Calendar 2018 - Qiita 8日目の記事です。 駆け込み。 やきなおしです。 わりとニーズがあるらしく、このネタで過去エントリにちょいちょいアクセスがくるので、とにかく急いでいる人用に、シンプルにまとめました。 MySQL5.6、5.7で使…

MySQLへのJDBC接続で、とあるバグを踏むまでの話 -(3)古いmariadb-client-javaにて、ヤバイ動き 

3エントリに渡ってお送りしています (1)「max_allowed_packet」の基本的な働き (2)「Connector/J」は結構賢い (3)古いmariadb-client-javaにて、ヤバイ動き MySQL本体同様、JDBCドライバにもforkプロダクト「MariaDB Connector/J(mariadb-client-j…

MySQLへのJDBC接続で、とあるバグを踏むまでの話 -(2)「Connector/J」は結構賢い

3エントリに渡ってお送りしています (1)「max_allowed_packet」の基本的な働き (2)「Connector/J」は結構賢い (3)古いmariadb-client-javaにて、ヤバイ動き Javaで開発するときにお世話になるヤーツ MySQLをDBとして採用したとき、アプリケーション…

MySQLへのJDBC接続で、とあるバグを踏むまでの話 -(1)「max_allowed_packet」の基本的な働き

3エントリに渡ってお送りいたします (1)「max_allowed_packet」の基本的な働き (2)「Connector/J」は結構賢い (3)古いmariadb-client-javaにて、ヤバイ動き 概要:max_allowed_packetとは 平たく言うと、MySQLのクライアントーサーバー間の通信のパ…

MySQL Workbenchで、Spatial Functionの結果を図で表示する

「できるらしい」という話だけで、誰も触ってなかった? clubmysql.connpass.com に参加して、坂井さんからGISにまつわるお話をたっぷり伺ってきました。で、坂井さんも、「MySQL WorkbenchがGIS対応してるらしいって聞いたことがあるけど、触ったこと無い」…

AWS Glueを扱ってみてツラかったところ。

AWS

冒頭から余談 しばらくブログの更新が空いてました。この期間、かなりしょっぱい仕事してました。まだ終わってないし、落ち着いてもいないけど、なんとなく書き残しておきたいネタになったので。 PySparkとかあんまり理解していない状況から、なんとなく「そ…

「アプリケーションエンジニアのためのApache Spark入門」読んでみた

先にまとめておく ApacheSpark2.2.0ベースでの記述で、サンプルソースはSaclaではなくPython(pyspark)。(個人的にはPython歓迎!だが、scalaベースで学びたい人には残念かもね。) Sparkの話だけではなく、fluentd+Kafkaで常時データが生成される環境を…

WindowsUpdate エラー「80072EE2」顛末記

WindowsUpdateが使えなくなった! メインじゃないのでしばらく使ってなかったWindows7のPC、最後に立ち上げた日もWindowsUpadteがトラブってたの、放置してた。 久々に時間が取れたのでいじってみたけど、何も改善してなかった。エラーコードは「80072EE2」…

Anaconda3でJupyter Notebookを立てたときに、Python2.7も選択できるようにする

何番煎じだよ って話なんだろうけど、その先人の煎じたヤツがその通りでは動かなかったので。 結局公式サイト記載のやり方が、一番近かった Installing the IPython kernel — IPython 6.2.0.dev documentation 近いけど、そのままじゃ動かねえし。 一通りJup…

CentOS 6系にyumでmavenをインストール

タイトルどおり、yumなんで wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo yum install -y apache-maven mvn --versionこれだけ。 今日やった時点で、Maven 3.5.2がイン…

CentOS6 on VirtualBoxでNIC追加・変更する手順

最初に億劫がってブリッジ設定のNICを1つで構築すると、あとが面倒。 Python3.6 & Jupyter Notebook環境をCentOS 6.9 on Virtualboxの上に作ってみた。 - なからなLife で、 eth0:NAT eth1:ホストオンリーネットワーク の2枚構成にしておくとラク、と自分…

Python3.6 & Jupyter Notebook環境をCentOS 6.9 on Virtualboxの上に作ってみた。

そろそろかじっておいたほうがいいかなと 関連書籍をあさっていると、お手軽にWindowsの上に直接Python立ててJupyter立てる方法しか書いてない本があったりするんですけど、Windows環境をあんまり汚したくないので、いつでもまっさらにできる仮想環境上に立…

CentOS 6.9の上でapache-loggen使いたくてゴタゴタした。

きっかけ とある製品の検証をするにあたり、ある程度リアリティのある大量データがほしいなと思ったところから。 apache-loggenは過去にElasticsearchの勉強しているときにちょっと触ったことがあって、ランダムなデータが一定間隔で出力できて、それでいて…

新年あけまして2018

「あけまして」の挨拶には遅すぎますが、有給つかって仕事始めが1月9日となり、まだだらっと過ごしている真っ最中です。 今年も手短に年頭所感を残しておきたいと思います。 年末から年始にかけて、子供2人が立て続けにインフルエンザにかかり、近年まれに見…

SELECT文をタイムアウト強制終了させる「MAX_EXECUTION_TIME」使ってる?

この記事はMySQL Casual Advent Calendar 2017 - Qiitaの9日目のエントリとなります。 実行が長引いたSELECT文を強制終了させるヤーツ MySQL5.6まで、正常に処理が進んでいて遅いSELECTをタイムアウトさせるシステム変数はありませんでした。 正常に処理が進…

MySQLの「Communications link failure...」の解決方法を調べていて、よく見つけるヤツ

この記事はMySQL Casual Advent Calendar 2017 - Qiitaの5日目のエントリとなります。 みんなだいすきお困りの、アレです。 Oracleだと「ORA-03113:通信チャネルでファイルの終わりが検出されました。」っていう、酷い日本語*1で有名なヤツがあるけど、MySQL…

MySQL 8.0をカジュアルに立ちあげる

この記事はMySQL Casual Advent Calendar 2017 - Qiitaの2日目のエントリとなります。 きっかけ、前提 MySQL8.0、まだRCの状態だけど、色々な機能追加の話題が盛り上がっている中でのAdvent Calendarでもあるので、MySQL 8.0新機能検証なネタを投下してくれ…