sql >> データベース >  >> RDS >> Database

ソフトウェア開発の役割の構造:データサイエンティスト

    12年前、「コードの解読:ソフトウェア開発の役割の分解」の最初の記事を書いたとき、データベース管理者やデータベースアーキテクトを役割の一部として含めないという意識的でおそらく物議を醸す決断をしました。この決定は、ソフトウェア開発プロセスでこの専用の役割を必要とするデータの規模を扱う組織がほとんどなかったために行われました。ソリューションアーキテクトは、全体的な役割の一部としてデータ構造を設計する組織のニーズに対応できます。しかし、それ以来、データの世界は大きくなっています。

    ビッグデータ

    今日、私たちは処理しているデータソースの量、速度、動的な多様性に直面しています。何十年にもわたって人気のある典型的なリレーショナルデータベースについては話していません。データの拡張には、これまで使用してきたデータへの従来のアプローチとは異なる一連の技術とスキルが必要です。

    データ処理のマルチスレッド化は、1980年代にデータ処理を普及させたデータ処理へのシングルスレッド化アプローチの改善です。ただし、複数の実行スレッドを持つ単一のコンピューターに依存するこれらのアプローチでさえ、意味を抽出するために必要な処理の量が単一のマシンの容量を超えると機能しなくなります。

    サービスベースのコンピューティングの台頭

    1999年、自宅のユーザーは、カリフォルニア大学バークレー校で実行されている[email protected]プロジェクトを通じて、地球外のインテリジェンスを見つけるために、コンピューター上の予備のコンピューティングサイクルを寄付することができました。これは、広く分散されたコンピューティングやグリッドコンピューティングの最初の使用ではありませんでしたが、世界中のインターネットユーザーの想像力を捉えたプロジェクトです。突然、彼らは「ET」を見つけた人になる可能性がありました。建設中、プロジェクトは処理のために大量のデータを多くのコンピューターに配布し、データに対して計算を実行して、バックグラウンドノイズだけではない可能性が高い興味深いビットがあるかどうかを確認しました。 [email protected]は、1台のコンピューターでは不十分な種類の問題に気づかせた分散コンピューティングプロジェクトの1つにすぎませんでした。

    IBM、Microsoftなどは現在、組織がキャプチャしたデータに対処し、そのデータを理解できるように、コンピューティングおよび機械学習サービスを提供しているため、献身的なボランティアの軍隊を動員する必要はありません。プラットフォームは、大量のデータに隠された情報を抽出するために必要なコンピューティング能力と機械学習を提供することを目的としています。組織が専用のコンピューティングリソースを使用して独自のデータセンターを構築および展開する必要がある代わりに、データを情報と意味に変換するためのリソースをレンタルできます。

    データではなく、洞察について

    キャプチャするデータの量は驚異的ですが、興味深いのはデータではありません。興味深いのは、データを分析できれば、データから何がわかるかということです。エンジンのパフォーマンスに関する個々の測定値は重要ではありませんが、エンジンのメンテナンスが必要な時期や故障する可能性が高い時期を予測する機能は重要ではありません。 重要です。

    データサイエンティストは、データアーキテクトやデータベース管理者のようにデータストレージに重点を置いていません。代わりに、データを情報に変換し、最終的にはビジネスがより良い意思決定を行うために使用できる洞察に焦点を当てています。これは、ビジネスが有利に使用できる興味深い洞察を明らかにする方法でデータを分析するための新しいアプローチを探すことを意味します。

    セットと統計に立つ

    従来のソフトウェア開発プロセスは、問題を解決するための手続き型アプローチに精通しています。開発者、リード、およびアーキテクトは、手続き型構築の方法と利点について十分な知識を持っています。手続き型アプローチは、信じられないほど忠実であるが元の労働者の自動化のようなものです。コンピューターは、どのような順序でどのような条件下で操作を繰り返すか、複数のパスに分割するかを実行する手順(手順)を指示されます。ただし、データサイエンティストは、手続き型アプローチだけでなく、セットベースのロジックも使用します。ギャップや交差点を探すため、考え方が異なります。異なる情報セット間の平等および不平等の関係に基づいて機能します。

    一部の開発者は仕事でセットベースのロジックに遭遇しましたが、データサイエンティストは、情報のセットを操作する能力に慣れていて流暢でなければなりません。

    さらに、ソフトウェア開発ライフサイクルにおける他の役割とは異なり、データサイエンティストには、ソフトウェア開発の領域外の専門的なスキルが必要です。データサイエンティストはさまざまなデータビット間の関係についての洞察を探すため、相関関係などの統計値を探して生成し、提起する質問に答えて、異なるデータセット間の不正確な関係を見つけるには、統計の強固な基盤が必要です。

    とにかく、位置の見出しはどこにありますか?

    データの増加は転換点に達しています。ソーシャルネットワーク分析、クリック履歴、購入データのいずれであっても、組織はデータベースに閉じ込められたデータに真のビジネス価値を見出しており、データサイエンティストはそのデータの可能性を解き放つ鍵となります。

    その価値を獲得するということは、処理アルゴリズムをデータに接続し、コンピューティング能力を利用してそれらの結果を生み出すスキルを持った人々を雇うことを意味します。

    良い、悪い、そして醜い

    データサイエンスは、あらゆる場所からのあらゆる種類のデータを記録するモノのインターネットデバイスの出現により、現在爆発的に増加しています。それは素晴らしい機会を意味し、そしていくつかの課題以上のものを意味します。これらの課題のほんの一部を次に示します。

    • 良い: データから洞察を抽出する新しい方法を見つける絶好の機会があります。
    • 良い: コンピューティングおよびストレージリソースは大量に購入できます。
    • 良い: データサイエンティストは強い需要があり、しばらくはそうなるでしょう。
    • 悪い: アルゴリズムとアプローチが進化するにつれて、常に時代遅れに感じるでしょう。
    • 悪い: すべてのデータにはクリーンアップが必要であり、この作業にはかなりの時間が費やされます。
    • 醜い: 試行錯誤は、多くの「失敗」とわずかな勝利を意味します。

    結論

    データサイエンティストの役割には、急速に拡大するニーズとさまざまなスキルのセットがあります。統計学の授業が好きで、他の人には見えないパターンを見つけるのが好きなら、これはあなたにぴったりかもしれません。


    1. を介してUbuntuにPostgresqlをサイレントインストールする方法。 Dockerfile?

    2. Oracleで時間のない日付のみを取得する

    3. 私のお気に入りのPostgreSQL拡張機能-パート1-

    4. Cloud9 postgres