PostgreSQLデータベース管理者向けの11の質問

彼は速いが、同時に落ち着いている。 彼は賢く、分析的に考え、常に集中しています。 これらは、DBAスペシャリストが成功するための基本的な資質です。



レポートの合間に、 PG Day'16カンファレンスの傍観で、経験豊富な管理者の注目を数分間獲得し、彼らが自分の職業についてどう思うか、仕事でどのような迷惑な間違いをしたか、初心者にどのようなアドバイスを与えるかについて質問しました。 アントン・ブッシュメレフ、アレクサンダー・チスチヤコフ、ドミトリー・ヴァシリエフ、ミハイル ・テューリンブルース・モムジャンは、キャリアの始まりの物語を思い出し、彼らの道がいかに厄介であるかを語った。





データベース管理者は誰ですか?彼は他のIT専門家とどのように違いますか?





画像の代替 Alexander Chistyakov :データベース管理者は、クエリプランを読むことができる人です。 基本的に、これが彼を他のIT専門家と区別するものです。 実際、クエリプランを読むことができる人は、他のITスタッフにも同じことをしてほしいと思っているので、 少し悲しいです。 彼は彼らをそれに押し込もうとしていますが、彼らは望んでいません。 一定の矛盾があります。 彼が誰であるかを望んでいないが、強制されています。



画像の代替 Anton Bushmelev :データベース管理者は、彼の分野の専門家です。 それは経験のある人でなければなりません。 開発のバックグラウンドで、リリースの「ロールバック」中にジャムすぐに気付くことが望ましいです。 管理者は、チーム内で最も資格のある人でなければなりません。 彼は非常に責任があり、彼だけで一度に多くの拠点を担当しています。 他の「ITスペシャリスト」との違いは何ですか? 彼は彼のクラフトのファンでなければなりません、彼の仕事が大好きです!





画像の代替 Dmitry Vasiliev :データベースエンジニアは、アプリケーションの現在の操作だけでなく、履歴を含むデータの安全性についても最大限の責任を負っています。 データベースは、典型的なプロジェクトの心臓および循環系である場合があります。 データのセキュリティ以上に重要なものはありません;これは人にとって非常に大きな負担です。





画像の代替

Mikhail Tyurin :データベース管理者は、 見つけるのが難しいという点で他のIT専門家と異なります 。 非常にまれな専門家。 要件増えました 。 トランザクションとbashスクリプトが何であるかを同時に理解している人を見つけることは非常にまれです。





画像の代替 Bruce Momjan :管理者は、アプリケーション開発者が作成したリクエストを処理し、 パフォーマンスが低下しないようにデータベースを設定します。作業は信頼でき、更新は時間通りに行われます。 また、追加のパッケージをインストールしたり、バックアップを作成したりします。 -アプリケーション開発者を支援するためにデータベース管理者が実行するバックエンドには多くのタスクがあります。 この担当者は、すべてのテーブルの作成、ユーザー権限の管理、すべての動作の制御、パフォーマンスの監視を行う責任があります。







職業の主なものは何ですか?





画像の代替 アレクサンダーチスチャコフ明快さ 。 有罪にならないように、私たちが現在の状況でどのように終わったかを覚えておく必要があると思います。 良いメモリが必要です。



画像の代替 Anton Bushmelev落ち着いて 、これなしでは非常に難しいです。 結果に焦点を当てる必要があります。 開発者に言う必要はありません:「あなたのソフトウェアはg * clear!」、彼らにとってこれは興味の対象ではありません。 私たちはそれらを示す必要があります。「みんな、これとそれをすれば、もっと速くなるでしょう。 リメイクしてみましょう!」-このようなアプローチには、優れたDBAが必要です。



画像の代替 Dmitry Vasiliev分析機能合理性 、迅速で突発的な意思決定を避ける能力。



画像の代替 Mikhail Tyurin :哲学をまったくしないが、特定のスキルについて話す場合、これはデータベースの基礎を形成するアルゴリズムと構造の理解です 。 また、データベース内および一般的な言語でのスクリプト作成スキル



画像の代替 ブルース・モムジャンあなたが本当に誰であるかを正直に認識 、頭上に飛び乗ろうとしない能力。 19年前、私は国際的に仕事を始め、自分よりもずっとクールな人に会うまで、自分を優れたアプリケーション開発者と考えていました。 それから私はこれを受け入れなければならないことに気づき、人々を感情的にやる気にさせ、誰もが生産的になり、彼らが重要なものに属していると感じる雰囲気を作るための道を選びました。







最も厄介な間違いについて教えてください。





画像の代替 Alexander Chistyakov :私の最も厄介な間違いは、顧客の実稼働データベースをリアルタイムで削除したことです。 私はトヴェリ地域から来ましたが、ほとんど眠っていませんでしたし、基地を混同したわけでもありませんでした...それが何だったかは覚えていませんが、顧客の基地の30%を復元できませんでした 。 ベースがどのように機能するかをよく知っていたため、残りの70%を復元しました。 そして、彼は100%を失っていただろう。 そして、私は顧客を失ったでしょう。 実際のところ、システム管理者は、給与なしで600人を残して何も失うことのない人です。



画像の代替 Anton Bushmelev銀行で、午前中に定義を作成し(Oracleベース)、すべてが順調でした。 定義後、インデックスは勝ちました。 インデックスが再構築されたことを確認しました。 これらは、パーティションおよびサブパーティションのグローバルインデックスでした。 サブパーティを除くすべてをチェックしました。 安全に眠りに落ちました。



サブパーティのインデックスはまだ無効であることが判明し、 銀行は2時間立っていたため 、8時からロックに関する問題が始まりました。 マイナス20%は後で与えられました。 この事件の後、私は監視に細心の注意を払って、これがすべて捕捉されるようにします。 夜になると、何かを忘れることがあり、監視は常に機能します。



画像の代替 Dmitry VasilievTRUNCATEコマンドのドキュメントを読まずにデータベースのスーパーユーザーとしてコンソールを操作できるようにしたとき、私は最大のログテーブルに対してそれを実行しました。



画像の代替 Mikhail Tyurin :ロードされたシステムではDROP DATABASEを実行できないため、DROP DATABASEは実行しませんでした。 接続が行われ、彼女はそのようにドロップしません。 迷惑な間違いは、仕事を整理する際の間違いです。誰かに同意し、実装前に何かを決めることができれば、より効率的に何かをすることができます。



また、災害の規模過小評価することは間違いかもしれません。 長年のデータ操作の経験を持つ人にとって明らかなことは、自分の長所とスキルを過大評価しているプログラマーにとって完全に自明ではない場合があります。



エラーの特定の例は、面白くないものです。 ロギングをオフにするのを忘れた、接続を閉じるのを忘れた、休暇に入った。 5日目、あなたはビーチに横たわっており、突然彼らはあなたが要求が機能しなくなったことを呼び出します。 stat_activityの表示を要求すると、終了する前に閉じるのを忘れたトランザクションがハングします。



画像の代替 ブルース・モムジャン :最初の数年は、 人件費を査定する私の能力が望まれるようになりました 。 私は言った:「私は一日でやる!」、そして3日後、私はまだ同じタスクに取り組んでいました。 それから、すべてが完璧に進むシナリオに基づいて見積もりを出すことに気付きました。 しかし、完璧なものはありません。 そのため、 彼は時間の見積もりを2倍にし、不可抗力にさらに10%を追加し始めました 。 したがって、2日前に電話した場合、4、5と言い始めました。この式を導き出すのに多くの時間を費やさなければなりませんでしたが、今ではうまくいきます。





データベースに対処し、dbaになるかどうかを考えている人に何をアドバイスしますか?





画像の代替 Alexander Chistyakovカンファレンスに行き 、コミュニティで何が行われているかをよく聞いてください。 これはビジネスであり、トレンドがあり、それらを感じる必要があります。



画像の代替 Anton Bushmelev :「ハッキング」を追いかけるのではなく、問題を解決するための特効薬を探すのではなく、概念と基本から始めます。 良い基盤があれば、他のすべてがより速くなります。



画像の代替 Dmitry Vasiliev :私自身はすぐにDBAに来ませんでした。 その他、たくさん試しました。 すべてが興味深いものですが、データベースの詳細は、それがわずかに異なる世界であり、データベースエンジニアの責任のために異なるペースで移動しているということです。 しかし、これは面白くないという意味ではありません。 あなたは鉄と、すべてがどのように配置されているかを知る必要があります。 問題が何であるかを完全に理解するのに十分な時間があります。 日本の禅のように、 そこで実際に何が起こっているのかを熟考し、理解する必要があります。



画像の代替 ミハイルトゥリン視野を広げる 。 彼らがDBAについて話すとき、それはその冗談のようです-あなたはプログラマーです、それを理解してください! データに関連するすべてのものがDBAに送信されるため、実際、DBAは組織および幅広いアプリケーションスタックのアーキテクチャの問題を解決せざるを得ません。 データはシステム内のすべての対話に関与し、DBAが行う決定は、エンドユーザーのリクエスト処理スタックのすべてのレベルに影響します。 DBAがサポートするシステムの他のレベルの配置方法を理解する必要があります。 これは、クライアントをデータベースに書き込む人々が遭遇する問題を理解するのに役立ちます。



コンピュータサイエンスの古典的な問題を知る必要があります 。 キャッシュの無効化、オブジェクトの命名、および3番目の問題は、失われたものの問題です。 一般に、主な問題は誰もが分散処理を愛していることであり、分散システムでは同じことが何度か繰り返されることがよくあります。



画像の代替 Bruce Momjan :すべてを整理したい場合は、データベースの操作をお楽しみください。 プログラミング言語とテクノロジーは行き来しますが、データベースは残ります。 これは開発の非常に基本的な部分であり、大規模な組織の有効性に影響を与えるものに影響を与えます。 Postgresを学ぶことをお勧めします。 これは突然発生したプロジェクトではなく、すぐに消えます。 Postgresの専門家は、 十分はないため、米国とロシアでも高く評価されてます。 彼らは彼らの会社のスーパースターのようなものであり、より多くの人々がこれを理解し、そのような専門家になりたいと思うなら素晴らしいことです。 新しいことを学び、学びたいと思う人は、確かにキャリアの頂点に達するでしょう。



継続するには...



All Articles