A Bridge to the Cloud Damien Contreras ダミアン コントレラ Customer Engineer Specialist, Data Analytics, Google Cloud アジェンダ

Total Page:16

File Type:pdf, Size:1020Kb

A Bridge to the Cloud Damien Contreras ダミアン コントレラ Customer Engineer Specialist, Data Analytics, Google Cloud アジェンダ A bridge to the Cloud Damien Contreras ダミアン コントレラ Customer Engineer Specialist, Data Analytics, Google Cloud アジェンダ 1 2 4 5 6 はじめに 移行する前の DWHの移行 GCP と連動 データの表示 準備 について はじめに 01 移行する前に| データウェアハウスの欠点 リアルタイムの負担は受 データ増加 けられない コスト データ形式対応外 セルフサービス分析 が難 しい ベンダーロックイン の心 スタースキーマとディメン 配 表ションとファクト表に合わ せる 移行する前に | データレイクの欠点 コスト クラスターのリソースの バージョンアップ バランス 複数のデータレイクが構築 パートナー、人材採用が困 される 難 移行する前に | Google Cloud の価値 コストパフォーマン 弾力性のある構 セキュリティー スが良い サイロはない サーバーレスでNo-ops ANSI SQL-2011 移行をする前に考 えること 02 Partners Cloud plan & cloud deploy 移行する前に | 社内にスキルはない場合 グーグルの支援 パートナーと BigQuery のスター Google リソースが ターパック 協力し合う https://cloud.google.com/partner s/?hl=ja 移行する前に | TCO & ROI アンケートを記入するだけ で 総所有コストのも計算 移行する前に | クラウドで構築 サイロ化に 2 3 なっている 1 データセット データと関連データの Proof of 基盤を構築 発見 Concept 誰でも ML を 使えれるよう 6 5 4 に 機械学習 ソースデータを 周りのシステム 移行 と通信用のツー ルの構築 DWH の移行について03 移行する前に | DWH移行対応 t n r m h o s v b ? Teradata IBM AWS Azure SQL Hadoop Oracle Snowfake Verica SAP BW その他 Netezza Redshif BigQuery t Teradata IBM Netezza から 13 IBM Netezza | アーキテクチャ FPGA CPU メモリー NZSQLコマンド:DML, データダンプ Host FPGA CPU (Linux JDBCコネクター:SQLクエリ メモリー サー バ) FPGA CPU Symmetric Multiprocessing メモリー (SMP)複数のマイクロプロセッサ Disk S-Blade Network Enclosure fabric AMPP Massively Parallel Processing Architecture (MPP) 大量な並行処理 IBM Netezza | データタイプ IBM Netezza の 31 タイプを全部 BigQuery でマッピングが出来ます IBM Netezza BigQuery VARCHAR STRING BOOLEANま BigQuery : TRUE / FALSE BOOL たBOOL Netezza : True / False, 1 / 0, yes / no, on / of TIME / TIMETZ / TIME BigQuery : の TIME でタイムゾーンはない TIME_WITH_TI ME_ZONE ARRAY Netezza : VARCHARのデータタイプに保存 IBM Netezza |それ以外の違い IBM Netezza BigQuery テラバイトのスケールまで: TwinFin (all 拡張性 N2001) また Striper (all N2001); 最大: ペタバイト 320 Terabytes Distributed Columnar Database - 圧縮比 データモデル Relational DBMS - 圧縮比:1:3 :1:10 SQL SQL-92とSQL-99のエクステンション SQL-2011 処理エンジン MapReduce Dremel UDF C++ Javascript BigQuery のSQLでストアドプロシージャを ストアドプロシージャ NZPLSQL 書くalphaになります A-z, A-Z, 0-9 また underscore “_” 最大 フィールド名 日本語対応, 最大:128バイト :128 文字 IBM Netezza |チェックリスト ● IBM Netezza のデータタイプを BigQuery のデータタイプにマッピング ● フィールド名のマッピング ● IBM Netezza の SQL からに使用されてるクエリを ANSI SQL-2011に切り替えます ● C++ の UDF を BigQuery の UDF に書き直す ストアドプロシージャ を他の仕組みで対応 ● データソースのと連携 ツールを選択する ○ 最初のデータ移動方法 ○ 定期的なデータ更新方法 (差分管理) IBM Netezza |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能 クエリ UDF SQL C++ → Javascript 書き直し可能 ストアドプロシージャ データ通信 BigQuery のSQLでストアドプロ JDBCコネクター シージャ(alpha) コマンドラインでデータダンプ Teradata から Teradata | アーキテクチャ Dual CPU CPU O BYNET Interconne メモリー S BTEQコマンド:DML, データダンプ, cts 複数のインスタンスからデータクエリ CPU CPU O メモリー S JDBCコネクター:SQLクエリ CPU CPU O メモリー S Massively Parallel SMP Processing Nodes 大量な並行処理 Server (MPP) Management Teradata MPP 最大:1024 ノード Architecture Teradata | データタイプ Teradata の全てのタイプを BigQuery に Teradata BigQuery VARCHAR STRING INTERVAL_HOUR, INTERVAL_MINUTE, INTERVAL_SECOND, INT64 BigQuery: 期間のデータタイプない INTERVAL_DAY, INTERVAL_MONTH, INTERVAL_YEAR PERIOD(DATE), PERIOD(TIMESTAMP_ WITH_TIME_ZONE), STRING BigQuery: 期間のデータタイプない PERIOD(TIMESTAMP), PERIOD(TIME) Teradata |それ以外の違い Teradata BigQuery 拡張性 テラバイト ペタバイト Distributed Columnar Database - 圧縮比 データモデル Relational DBMS - 圧縮比:最大:1:10 :1:10 Teradata SQL 一部 SQL-2011 ベース (書き SQL ANSI SQL-2011 直すことは出来ます ) 処理エンジン Dremel UDF SQL Javascript ストアドプロシー BigQuery のSQLでストアドプロシージャを書く SQL ジャ alphaになります またアンダースコアー ド またアンダースコアー 最大 フィールド名 A-z, A-Z, 0-9 “_” , A-z, A-Z, 0-9 “_” ル “$”, シャープ “#” 最大:30 文字 :128 文字 Teradata |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能 クエリ UDF SQL SQL → Javascript 書き直し可能 ストアドプロシージャ データ通信 BigQuery のSQLでストアドプロ JDBCコネクター シージャ(alpha) コマンドラインでダンプ Hadoop から 24 専用のAPI アーキテクチャ JDBCコネクター:SQLク Hadoop | エリ CPU O w o S データウ キーバリュー メッセージ メモリー r エアハウ データベス ブローカ k ス e Phoenix CPU Z O r s Spark Hive Hbase Kafka o メモリー S q o N o Tez Slider k o CPU o e O d Yarn:リソース管理 e S e p メモリー p n HDFS : ファイルシステム e m i r CPU O a f メモリー S s ハードウエアー t i e CPU O r メモリー S ソフトエアースタック N Network o d 専用のAPI ハードウェアスタック e Hadoop | GCP Dataproc フルマネージド、Hadoop / Spark、 カスタマイズ可能なマシン 90 秒以内で立ち上げて、 エフェメラル またオンデマンドのクラスタ ー秒単位の 請求 データの暗号化 Hadoop | GCP Dataproc 一時的なクラスター ジョブ データ クラスター作成 処理の結果書込 クラスター削除 Bucket み Cloud 削除 Cluster 1 Storage Cloud BigQuery Cloud Dataproc Dataproc Logging & monitoring Stack driver Hadoop | マイグレション選択マトリクス データウェアハウスの処理 NoSQLを使ってます NoSQL を使ってますか アドホッククエリまたインタラクティブクエリを起動 (Hive, Impala, Kudu, Drill, Druid, AtScale、 はい MaprDB, …) HBase を使ってますか Accumulo を使って、移行 がしたくないのでそのまま 使いたい はい クエリーを書き直しても大丈 Cloud いいえ 夫ですか はい いいえ Dataproc Phoenix を使ってますか はい はい いいえ BigQuery また Cloud Cloud BigQuery Bigtable Dataproc Hadoop |チェックリスト ● Hive データタイプを BigQuery のデータタイプにマッピング ● Hive の UDF また SerDe を移行計画 ● Hive に使用されている HQLクエリを ANSI SQL に切り替えます ● HDFS に保存されてるバイナリーファイル の処理プロセスを移行の計画 ● Spark, MapReduce また Pig script のデータ処理の移動計画 ● HBase のデータ移行の計画 ● Zeppelin ノートブックの移行計画 ● Kafa が使われているフローの移行計画 ● Sqoop のスクリプトを基づいて、データソースのと連携ツールを選択する ○ 最初のデータ移動方法 ○ 定期的のデータ更新方法 (差分管理) Hadoop |カバレッジ データ量 データ形式 ペタバイト対応 マッピング可能 クエリ UDF & Serde SQL SQL / Java → Javascript 書き直し可能 データ処理 データ通信 書き直し可能 JDBCコネクター Dataprocに起動 HDFSのダンプ対応 BigQueryのSQLでストアドプロ 専用のAPI シージャ(alpha) GCP との連動 04 GCP のサービスを紹介 32 GCP | Data pipeline 全体図 データソース ETL/ESB ランディング・ゾー 加工 / 処理 蓄積 / DWH 分析 活用 ン 公開 ストリーミング データ セット Pub/Sub パートナーのツール / Datafusion / Data Transfer Service バッチ ETL 処理 Legacy EDW BigQuery 他社のツール Cloud storage ELT を SQLで GCP | Cloud Storage 耐久性と高可用性を両立させた BLOB ストレージ(オブジェクトスト レージ) 安全で耐久性のあるデータ保管 容量管理が不要 転送中のデータと保存データの 暗号 化 パフォーマンスとコスト バランスの取 れたストレージクラス BigQuery や Datafow, Dataproc な どの分析サービスとの統合 34 GCP | Cloud Pub/Sub 信頼性の高いリアルタイムメッセージング サービス グローバルに設計 された高い可用性 プロビジョニングが不要 で自動処理 At Least Once 配信 多彩なパターンで利用が可能 35 連携パターン GCP | データパイプラインの連携ツール選択 ソース ETL/ESB ランディング・ゾー 加工 / 処理 蓄積 / DWH ン ESB / Hadoop ETL S3 Bucket Cloud Cloud BigQuery DWH Pub/Sub Dataflow r RedShift Cloud Dataproc e Exadata Data n Netezza Cloud Fusion t Teradata Storage ... Cloud Dataprep RDBMS Bq load Data Transfer Service GCP | データパイプラインの連携ツール選択 今現在、データ連携のツールがすでにあ GCP から(プル)それぞれのデー bq load いいえ いいえ りますか (ESB, ETL)? タソースに接続したい? GCP API はい はい カスタムロジックまた複雑なデー GCP に行く時にデータパイプライン(デー タパイプラインを Java また Cloud タ通信またデータ処理)を で最適に はい No はい GCP Python で書いてコントロールし Dataflow 再構築 ? たい? いいえ いいえ カスタムロジックまた複雑なデー クラウド Sqoop / NiFi + Data パート タフローをビジュアルツールで作 はい ネーティ また その他 Fusion Spark MR ナーの りたい? ブ ジョブズ の ETL ETL いいえ ツール ツール データ整理だけが必要、ビジュア ルデータ探索したい、ルールベー はい Dataprep Informati スで構築したい Talend Cloud ca Dataproc いいえ Intelligen Data 程的にデータをデータソースから はい t Cloud Transfer Services シンクしたい場合 Service いいえ GCP | BQ Load 向いている場面 バッチで、ファイルの構でデータ送る 構化データの場合 オンプレミスのスケジューラーの対応 データをオンプレミスから プッシュする時 GCP | BQ Load 事例 ソース ランディング・ゾー ETL/ESB 加工 蓄積 / DWH 分析 Analyze 活用 Visualize ン Cloud gsutil cp bq load BigQuery 1 を経由 Storage GCS スケジューラー bq load BigQuery 2 直接の書き込み スケジューラー GCP | BQ Load 詳細 コマンドライン、Java, C#, Python, PHP, Ruby, Node.js, Go ローカルディスクからロードをしたい時、 制限: ● コマンド毎 10MB 以下また 16,000 のレコー ド ● フォルダまたWildcardは使えない GCP | Data fusion 向いている場面 バッチもしくはストリーミング対応 データフローをマージー、データ変換、データマッピ ング:複雑なデータフロー を構築する時 マネージドサービス GCP | Data fusion 事例 Data ランディング・ゾー ETL/ESB 加工 蓄積 / DWH 分析 Analyze 活用 Visualize Warehouse ン Data n Netezza BigQuery Fusion 1 バッチ Cloud Data Cloud 1 ストリーミング Pub/Sub Fusion Storage Beta GCP | Data fusion 詳細 No-opsのデータパイプラインの構築と管理のための統 合サービス フル マネージド型のデータ統合また処理 統一されたバッチとストリーミング GUIでグラフの形で(DAG)フローの流れをビジュアル で作れる エラー管理 メインのデータベースと データウェアハウスと連携 :IBM Netezza, Oracle 12c, Redshif, Kudu, MySQL, MS SQL Server, IBM DB2... GCP | Datafow 向いている場面 バッチ & ストリーミング コードで複雑な処理を描きたい GCPのサービスと連携したい時、 テンプレー トを使いたい場合 GCP | Datafow 事例 Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 Analyze 活用 Visualize Cloud Cloud BigQuery Pub/Sub Dataflow GCP | Datafow 詳細 オープンソースのプログラミング モデル サーバーレスでフル マネージド型のデー タ処理 何百万もの QPS に合わせた自動最適 化 Python また Javaで使い慣れた言語で 統一されたバッチとストリーミング 47 GCP | Data Transfer Service 向いている場面 BigQuery へのデータの移動を自動化する マネー ジド サービス,コネクターが Teradata, S3, redshift、さまざまなソースから 信頼性の高いデータ取り込み(アップタイム SLA と データ配信 SLA) データ配信のスケーリング GCP | Data Transfer Service 事例 Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 Analyze 活用 Visualize Data S3 Bucket Transfer BigQuery Service GCP | Data Transfer Service Data Transfer Service 様々なソースから (AWS S3, AWS Redshift, Redshift, …) 数クリックで設定はできます スケジューラー、通知の機能も Parner | Informatica 向いている場面 今すでに使われている場合 データをオンプレミスからクラウドへ ビジュアルでフロー構築 データ周りの完全管理:data Catalog, MDM Parner | Informatica Informatica PowerCenter - use your ETL to integrate Data ETL/ESB Landing Warehouse 加工 蓄積 / DWH 分析 活用 Hadoop Informatica BigQuery 1 PowerCenter オンプレミス Oracle O Informatica RDBMS PowerCenter Hadoop Informatica Informatica BigQuery 2 クラウド Cloud Cloud Oracle Informatica O RDBMS intelligent Cloud Services Parner | Informatica ChangeDataCapture 対応 (Oracle, Db2, SQL Server, MySQL) GUI で出来る: データマッピング スキーママッピング フロー構築 ログファイルの構解析 データウエアハウスマイグレション対応: Netezza, Teradata また Hadoop のコネクター すでにある Tier で GCP 対応: Tier C で標準で GCS のコネクター Tier D で直接の BigQuery コネクター GCP | データ連携のパートナー 1000+ parners データを表示する、 BI ツール 0405 BI ツール | Google スプレッドシート スプレッドショート直で BigQuery のデータを SQL が書けなくってもデータにアクセス できる データが見れるから簡単にすぐ理解は できる BI ツール | データポータル でダッシュボード作れる GUI データソースがまとまってなくても様々なデータソー スを Join できる テンプレートで簡単にダッシュボード作れる カスタムグラフを D3.js を使って、Javascript で作る BI ツール | Looker ● BigQuery と統合 ● クラウドなのでスケーラブル ● どこでもからアクセスは出来る ● 50 以上のデータベース直接接続 GCP | パートナー 1000+ parners Thank you.
Recommended publications
  • Download File
    Annex 2: List of tested and analyzed data sharing tools (non-exhaustive) Below are the specifications of the tools surveyed, as to February 2015, with some updates from April 2016. The tools selected in the context of EU BON are available in the main text of the publication and are described in more details. This list is also available on the EU BON Helpdesk website, where it will be regularly updated as needed. Additional lists are available through the GBIF resources page, the DataONE software tools catalogue, the BioVel BiodiversityCatalogue and the BDTracker A.1 GBIF Integrated Publishing Toolkit (IPT) Main usage, purpose, selected examples The Integrated Publishing Toolkit is a free open source software tool written in Java which is used to publish and share biodiversity data sets and metadata through the GBIF network. Designed for interoperability, it enables the publishing of content in databases or text files using open standards, namely, the Darwin Core and the Ecological Metadata Language. It also provides a 'one-click' service to convert data set metadata into a draft data paper manuscript for submission to a peer-reviewed journal. Currently, the IPT supports three core types of data: checklists, occurrence datasets and sample based data (plus datasets at metadata level only). The IPT is a community-driven tool. Core development happens at the GBIF Secretariat but the coding, documentation, and internationalization are a community effort. New versions incorporate the feedback from the people who actually use the IPT. In this way, users can help get the features they want by becoming involved. The user interface of the IPT has so far been translated into six languages: English, French, Spanish, Traditional Chinese, Brazilian Portuguese, Japanese (Robertson et al, 2014).
    [Show full text]
  • System and Organization Controls (SOC) 3 Report Over the Google Cloud Platform System Relevant to Security, Availability, and Confidentiality
    System and Organization Controls (SOC) 3 Report over the Google Cloud Platform System Relevant to Security, Availability, and Confidentiality For the Period 1 May 2020 to 30 April 2021 Google LLC 1600 Amphitheatre Parkway Mountain View, CA, 94043 650 253-0000 main Google.com Management’s Report of Its Assertions on the Effectiveness of Its Controls Over the Google Cloud Platform System Based on the Trust Services Criteria for Security, Availability, and Confidentiality We, as management of Google LLC ("Google" or "the Company") are responsible for: • Identifying the Google Cloud Platform System (System) and describing the boundaries of the System, which are presented in Attachment A • Identifying our service commitments and system requirements • Identifying the risks that would threaten the achievement of its service commitments and system requirements that are the objectives of our System, which are presented in Attachment B • Identifying, designing, implementing, operating, and monitoring effective controls over the Google Cloud Platform System (System) to mitigate risks that threaten the achievement of the service commitments and system requirements • Selecting the trust services categories that are the basis of our assertion We assert that the controls over the System were effective throughout the period 1 May 2020 to 30 April 2021, to provide reasonable assurance that the service commitments and system requirements were achieved based on the criteria relevant to security, availability, and confidentiality set forth in the AICPA’s
    [Show full text]
  • F1 Query: Declarative Querying at Scale
    F1 Query: Declarative Querying at Scale Bart Samwel John Cieslewicz Ben Handy Jason Govig Petros Venetis Chanjun Yang Keith Peters Jeff Shute Daniel Tenedorio Himani Apte Felix Weigel David Wilhite Jiacheng Yang Jun Xu Jiexing Li Zhan Yuan Craig Chasseur Qiang Zeng Ian Rae Anurag Biyani Andrew Harn Yang Xia Andrey Gubichev Amr El-Helw Orri Erling Zhepeng Yan Mohan Yang Yiqun Wei Thanh Do Colin Zheng Goetz Graefe Somayeh Sardashti Ahmed M. Aly Divy Agrawal Ashish Gupta Shiv Venkataraman Google LLC [email protected] ABSTRACT 1. INTRODUCTION F1 Query is a stand-alone, federated query processing platform The data processing and analysis use cases in large organiza- that executes SQL queries against data stored in different file- tions like Google exhibit diverse requirements in data sizes, la- based formats as well as different storage systems at Google (e.g., tency, data sources and sinks, freshness, and the need for custom Bigtable, Spanner, Google Spreadsheets, etc.). F1 Query elimi- business logic. As a result, many data processing systems focus on nates the need to maintain the traditional distinction between dif- a particular slice of this requirements space, for instance on either ferent types of data processing workloads by simultaneously sup- transactional-style queries, medium-sized OLAP queries, or huge porting: (i) OLTP-style point queries that affect only a few records; Extract-Transform-Load (ETL) pipelines. Some systems are highly (ii) low-latency OLAP querying of large amounts of data; and (iii) extensible, while others are not. Some systems function mostly as a large ETL pipelines. F1 Query has also significantly reduced the closed silo, while others can easily pull in data from other sources.
    [Show full text]
  • Containers at Google
    Build What’s Next A Google Cloud Perspective Thomas Lichtenstein Customer Engineer, Google Cloud [email protected] 7 Cloud products with 1 billion users Google Cloud in DACH HAM BER ● New cloud region Germany Google Cloud Offices FRA Google Cloud Region (> 50% latency reduction) 3 Germany with 3 zones ● Commitment to GDPR MUC VIE compliance ZRH ● Partnership with MUC IoT platform connects nearly Manages “We found that Google Ads has the best system for 50 brands 250M+ precisely targeting customer segments in both the B2B with thousands of smart data sets per week and 3.5M and B2C spaces. It used to be hard to gain the right products searches per month via IoT platform insights to accurately measure our marketing spend and impacts. With Google Analytics, we can better connect the omnichannel customer journey.” Conrad is disrupting online retail with new Aleš Drábek, Chief Digital and Disruption Officer, Conrad Electronic services for mobility and IoT-enabled devices. Solution As Conrad transitions from a B2C retailer to an advanced B2B and Supports B2C platform for electronic products, it is using Google solutions to grow its customer base, develop on a reliable cloud infrastructure, Supports and digitize its workplaces and retail stores. Products Used 5x Mobile-First G Suite, Google Ads, Google Analytics, Google Chrome Enterprise, Google Chromebooks, Google Cloud Translation API, Google Cloud the IoT connections vs. strategy Vision API, Google Home, Apigee competitors Industry: Retail; Region: EMEA Number of Automate Everything running
    [Show full text]
  • Beginning Java Google App Engine
    apress.com Kyle Roche, Jeff Douglas Beginning Java Google App Engine A book on the popular Google App Engine that is focused specifically for the huge number of Java developers who are interested in it Kyle Roche is a practicing developer and user of Java technologies and the Google App Engine for building Java-based Cloud applications or Software as a Service (SaaS) Cloud Computing is a hot technology concept and growing marketplace that drives interest in this title as well Google App Engine is one of the key technologies to emerge in recent years to help you build scalable web applications even if you have limited previous experience. If you are a Java 1st ed., 264 p. programmer, this book offers you a Java approach to beginning Google App Engine. You will explore the runtime environment, front-end technologies like Google Web Toolkit, Adobe Flex, Printed book and the datastore behind App Engine. You'll also explore Java support on App Engine from end Softcover to end. The journey begins with a look at the Google Plugin for Eclipse and finishes with a 38,99 € | £35.49 | $44.99 working web application that uses Google Web Toolkit, Google Accounts, and Bigtable. Along [1]41,72 € (D) | 42,89 € (A) | CHF the way, you'll dig deeply into the services that are available to access the datastore with a 52,05 focus on Java Data Objects (JDO), JDOQL, and other aspects of Bigtable. With this solid foundation in place, you'll then be ready to tackle some of the more advanced topics like eBook integration with other cloud platforms such as Salesforce.com and Google Wave.
    [Show full text]
  • Migrating Your Databases to Managed Services on Google Cloud Table of Contents
    White paper June 2021 Migrating your databases to managed services on Google Cloud Table of Contents Introduction 3 Why choose cloud databases 3 The benefits of Google Cloud’s managed database services 5 Maximum compatibility for your workloads 6 For Oracle workloads: Bare Metal Solution for Oracle 8 For SQL Server workloads: Cloud SQL for SQL Server 10 For MySQL workloads: Cloud SQL for MySQL 12 For PostgreSQL workloads: Cloud SQL for PostgreSQL 14 For Redis and Memcached workloads: Memorystore 16 For Redis: Redis Enterprise Cloud 17 For Apache HBase workloads: Cloud Bigtable 19 For MongoDB workloads: MongoDB Atlas 20 For Apache Cassandra workloads: Datastax Astra 22 For Neo4j workloads: Neo4j Aura 23 For InfluxDB workloads: InfluxDB Cloud 25 Migrations that are simple, reliable, and secure 27 Assessing and planning your migration 27 Google Cloud streamlines your migrations 28 Google Cloud services and tools 28 Self-serve migration resources 28 Database migration technology partners 29 Google Professional Services 29 Systems integrators 29 Get started today 29 3 Introduction This paper is for technology decision makers, developers, architects, and DBAs. It focuses on modernizing database deployments with database services on Google Cloud. These services prioritize compatibility and simplicity of management, and include options for Oracle, SQL Server, MySQL, PostgreSQL, Redis, MongoDB, Cassandra, Neo4j, and other popular databases. To transform your business applications, consider Google Cloud native databases. For strategic applications that don’t go down, need on-demand and unlimited scalability, advanced security, and accelerated application development, Google provides the same cloud native database services that power thousands of applications at Google, including services like Google Search, Gmail, and YouTube with billions of users across the globe.
    [Show full text]
  • Nosql Database Comparison: Bigtable, Cassandra and Mongodb
    Running Head: NOSQL DATABASE COMPARISON: BIGTABLE, CASSANDRA AND MONGODB NoSQL Database Comparison: Bigtable, Cassandra and MongoDB CJ Campbell Brigham Young University October 16, 2015 1 NOSQL DATABASE COMPARISON: BIGTABLE, CASSANDRA AND MONGODB INTRODUCTION THE SYSTEMS Google Bigtable History Data model & operations Physical Storage ACID properties Scalability Apache Cassandra History Data model & operations Physical Storage ACID properties Scalability MongoDB History Data model & operations Physical Storage ACID properties Scalability Differences Conclusion References 2 NOSQL DATABASE COMPARISON: BIGTABLE, CASSANDRA AND MONGODB Introduction As distributed systems are adopted and grown to scale, the need for scalable database solutions which meet the application’s exact need has become increasingly important. In the early days of computing, databases were almost entirely relational. Today, new breeds of database have emerged, called NoSQL databases. They are a common element in the grand design for most distributed software platforms. Each database is suited to a slightly different purpose from its peers. This paper discusses the features, similarities, and differences of three NoSQL databases: Google Bigtable, Apache Cassandra, and MongoDB. The Systems In this section, each of the three NoSQL databases are analyzed in-depth, starting with Google Bigtable, then Apache Cassandra, and finally MongoDB. Analysis includes their history, data model, accepted operations, physical storage schema, ACID properties, and scalability. Google Bigtable History. Bigtable was designed within Google to meet their internal data ​ processing needs at scale. It began development in 2004 as part of their effort to handle large amounts of data across applications such as web indexing, Google Earth, Google Finance and more (Google, Inc., 2006). It first went into production use in April 2005.
    [Show full text]
  • Google Cloud Security Whitepapers
    1 Google Cloud Security Whitepapers March 2018 Google Cloud Encryption at Rest in Encryption in Transit in Application Layer Infrastructure Security Google Cloud Google Cloud Transport Security Design Overview in Google Cloud 2 Table of Contents Google Cloud Infrastructure Security Design Overview . 3 Encryption at Rest in Google Cloud . 23 Encryption in Transit in Google Cloud . 43 Application Layer Transport Security in Google Cloud . 75 3 A technical whitepaper from Google Cloud 4 Table of Contents Introduction . 7 Secure Low Level Infrastructure . 8 Security of Physical Premises Hardware Design and Provenance Secure Boot Stack and Machine Identity Secure Service Deployment . 9 Service Identity, Integrity, and Isolation Inter-Service Access Management Encryption of Inter-Service Communication Access Management of End User Data Secure Data Storage . 14 Encryption at Rest Deletion of Data Secure Internet Communication . 15 Google Front End Service Denial of Service (DoS) Protection User Authentication Operational Security . 17 Safe Software Development Keeping Employee Devices and Credentials Safe Reducing Insider Risk Intrusion Detection 5 Securing the Google Cloud Platform (GCP) . .. 19 Conclusion . 21 Additional Reading . 22 The content contained herein is correct as of January 2017, and represents the status quo as of the time it was written. Google’s security policies and systems may change going forward, as we continually improve protection for our customers. 6 CIO-level summary • Google has a global scale technical infrastructure designed to provide security through the entire information processing lifecycle at Google. This infrastructure provides secure deployment of services, secure storage of data with end user privacy safeguards, secure communications between services, secure and private communication with customers over the internet, and safe operation by administrators.
    [Show full text]
  • Ray Cromwell
    Building Applications with Google APIs Ray Cromwell Monday, June 1, 2009 “There’s an API for that” • code.google.com shows 60+ APIs • full spectrum (client, server, mobile, cloud) • application oriented (android, opensocial) • Does Google have a Platform? Monday, June 1, 2009 Application Ecosystem Client REST/JSON, GWT, Server ProtocolBuffers Earth PHP Java O3D App Services Media Docs Python Ruby Utility Blogger Spreadsheets Maps/Geo JPA/JDO/Other Translate Base Datastore GViz Social MySQL Search OpenSocial Auth FriendConnect $$$ ... GData Contacts AdSense Checkout Monday, June 1, 2009 Timefire • Store and Index large # of time series data • Scalable Charting Engine • Social Collaboration • Story Telling + Video/Audio sync • Like “Google Maps” but for “Time” Monday, June 1, 2009 Android Version 98% Shared Code with Web version Monday, June 1, 2009 Android • Full API stack • Tight integration with WebKit browser • Local database, 2D and 3D APIs • External XML UI/Layout system • Makes separating presentation from logic easier, benefits code sharing Monday, June 1, 2009 How was this done? • Google Web Toolkit is the Foundation • Target GWT JRE as LCD • Use Guice Dependency Injection for platform-specific APIs • Leverage GWT 1.6 event system Monday, June 1, 2009 Example App Code Device/Service JRE interfaces Guice Android Browser Impl Impl Android GWT Specific Specific Monday, June 1, 2009 Shared Widget Events interface HasClickHandler interface HasClickHandler addClickHandler(injectedHandler) addClickHandler(injectedHandler) Gin binds GwtHandlerImpl
    [Show full text]
  • Before We Start…
    Before we start… This is the Introduction to Databases Design and Implementation workshop • Download material: dartgo.org/db-design • Poll / Interactive questions: dartgo.org/poll • Optional software: https://dev.mysql.com/downloads/workbench/ • More info: rc.dartmouth.edu Introduction to Database Design and Implementation Christian Darabos, Ph.D. [email protected] Slides download: dartgo.org/db-design Overview • introduction to Databases and this workshop • development/production environments • tools (admin, browse, query, etc.) • DB design, UML and case study (http://www.datanamic.com/support/lt-dez005-introduction-db-model ing.html) • port model into MySQL Workbench Right-click > Open link in new window To keep open slides and poll dartgo.org/poll Research Computing Introduction • Research Computing service offering • Definition of a Relational Database • Overview of this workshop Right-click > Open link in new window To keep open slides and poll dartgo.org/poll Definition of a Relational Database (SQL) • a database type structured to recognize relations among stored items of information • designed to store text, dates/times, integers, floating-point number • implemented as a series of tables Mental Model • Think of a database as a set of spreadsheets • Each spreadsheet (or table) represents a type of entity (person, object, concept, etc.) • Better than Excel because it also models the relationship between the entities Why use a Relational Database • concurrent (simultaneous) read and write • powerful selecting, filtering and sorting cross-referencing tables • large quantity of structured storage and standardized distribution • minimize post-processing (simple analytics tools pre-implemented) • automate using any scripting and programming languages (R, Matlab, Python, C++, Java, PHP) • web-proof SQL vs.
    [Show full text]
  • Web2py Dojo @Pycon 2009 Goal
    web2py Dojo @PyCon 2009 Goal • Write an application that allows you to post news (in markdown syntax), attach and link documents to news, restrict access, provides login, logout, registration, and exposes the posted news as multiple services. • 29 (models) + 47 (controllers) + 45 (views) = 121 total lines of code • type only stuff in blue Part 0 • Download “web2py 1.59” from http://www.web2py.com • Start it with: $ python web2py.py • Create an application called “news” Part 1 • Create a table “news_item” with fields: • title • body • posted_on FILE: applications/news/models/db.py try: from gluon.contrib.gql import * except: db = SQLDB('sqlite://storage.db') # connect to SQLite else: db = GQLDB() # connect to Google BigTable session.connect(request, response, db=db) db.define_table('news_item', db.Field('title',length = 128), db.Field('body','text'), db.Field('posted_on','datetime')) Part 1 • Create a table “document” with fields • news_id which references news_item • name • uploaded file FILE: applications/news/models/db.py try: from gluon.contrib.gql import * except: db = SQLDB('sqlite://storage.db') # connect to SQLite else: db = GQLDB() # connect to Google BigTable session.connect(request, response, db=db) db.define_table('news_item', db.Field('title',length = 128), db.Field('body','text'), db.Field('posted_on','datetime')) db.define_table('document', db.Field('news_id',db.news_item), db.Field('name',length = 128), db.Field('file','upload')) Try appadmin • http://127.0.0.1:8000/news/appadmin • Try insert some records • Try select some
    [Show full text]
  • Bigquery Table Date Range Standard Sql
    Bigquery Table Date Range Standard Sql Comminative West literalise obstreperously and foul, she excavated her Mormons grin edgily. Mike dismantling chastely if seraphical Douggie literalizes or anele. Rustin ballyragged her spectacle granularly, she insheathed it peremptorily. Csv exports the date range variables can override widget css code here in a new section below query and batch your email is highly useful and Photo credit Georgetown University. The these of rows of data under this table. Out of crew, the cookies that are categorized as bone are stored on your browser as they are essential for office working of basic functionalities of the website. Solution if running build steps in a Docker container. It is wide for concurrent use. Only used when character data. The WHERE statements in this view proper care of badly defined rows in sole source files. Will also friendly to visible with numerous sample datase. Try turning detect schema and format options automatically. The bypass of building query depends on the loom of bytes read and the glory BEFORE applying the dictionary clause. If you counsel your drive or bush the maiden, the computed values for this function are updated. Service catalog for admins managing internal enterprise solutions. The leaving date falls on a Monday and the purchase date falls on a Sunday. The returned Extractor may optionally be further configured before nor Run method is called. Extracts the DATE though a DATETIME expression. The default value comes from your pipeline options object. Get an iterator to iterate through you set specific table rows. Unfortunately he sin not received a crime either.
    [Show full text]