FROM FLAT FILES to DECONSTRUCTED DATABASE the Evolution and Future of the Big Data Ecosystem

Total Page:16

File Type:pdf, Size:1020Kb

FROM FLAT FILES to DECONSTRUCTED DATABASE the Evolution and Future of the Big Data Ecosystem FROM FLAT FILES TO DECONSTRUCTED DATABASE The evolution and future of the Big Data ecosystem. Julien Le Dem @J_ [email protected] March 2019 Julien Le Dem @J_ Julien Principal Data Engineer • Author of Parquet • Apache member • Apache PMCs: Arrow, Kudu, Heron, Incubator, Pig, Parquet, Tez • Used Hadoop first at Yahoo in 2007 • Formerly Twitter Data platform and Dremio Agenda ❖ At the beginning there was Hadoop (2005) ❖ Actually, SQL was invented in the 70s “MapReduce: A major step backwards” ❖ The deconstructed database ❖ What next? At the beginning there was Hadoop Hadoop Storage: A distributed file system Execution: Map Reduce Based on Google’s GFS and MapReduce papers Great at looking for a needle in a haystack Great at looking for a needle in a haystack … … with snowplows Original Hadoop abstractions Execution Storage Map/Reduce File System Read write locally locally Simple Just flat files M R ● Flexible/Composable Shuffle ● Any binary ● Logic and optimizations ● No schema tightly coupled ● No standard ● Ties execution with M R ● The job must know how to persistence split the data M R “MapReduce: A major step backwards” (2008) Databases have been around for a long time Relational model • First described in 1969 by Edgar F. Codd • Originally SEQUEL developed in the early 70s at IBM SQL • 1986: first SQL standard • Updated in 1989, 1992, 1996, 1999, 2003, 2006, 2008, 2011, 2016 • Universal Data access language Global Standard • Widely understood Underlying principles of relational databases Separation of logic and optimization Standard Separation of Schema and Application SQL is understood by many High level language focusing on logic (SQL) Indexing Optimizer Integrity Evolution Transactions Views Integrity constraints Schemas Referential integrity Relational Database abstractions Execution Storage SQL Tables SELECT a, AVG(b) FROM FOO GROUP BY a SQL Abstracted notion of data ● Decouples logic of query ● Defines a Schema from: ● Format/layout decoupled ○ Optimizations from queries ○ FOO Data representation ● Has statistics/indexing ○ Indexing ● Can evolve over time Query evaluation Syntax Semantic Optimization Execution A well integrated system Storage SELECT f.c, AVG(b.d) FROM FOO f Table JOIN BAR b ON f.a = b.b Syntax Semantic Metadata Columnar Columnar Columnar GROUP BY f.c WHERE f.d = x (Schema, data data data stats, layout,…) Push Push Push downs downs downs Select Optimization Select Scan GROUP JOIN FILTER FOO BY GROUP BY Scan BAR JOIN Execution FILTER Scan BAR Scan FOO user So why? Why Hadoop? Why Snowplows? The relational model was constrained Constraints are good We need the right Constraints They allow optimizations Need the right abstractions • Statistics Traditional SQL implementations: • Flat schema • Pick the best join algorithm • Inflexible schema evolution • Change the data layout • History rewrite required • Reusable optimization logic • No lower level abstractions • Not scalable Hadoop is flexible and scalable • Nested data structures • Unstructured text with semantic annotations No Data shape constraint • Graphs • Non-uniform schemas • Room to scale algorithms that are not part of the standard It’s just code • Machine learning • Your imagination is the limit • You can improve it Open source • You can expand it • You can reinvent it You can actually implement SQL with this And they did… SELECT f.c, AVG(b.d) FROM FOO f JOIN BAR b ON f.a = b.b GROUP BY f.c WHERE f.d = x GROUP BY Parser Select Execution GROUP JOIN BY JOIN FILTER FILTER Scan BAR BAR Scan FOO FOO (open-sourced 2009) 10 years later The deconstructed database Author: gamene https://www.flickr.com/photos/gamene/4007091102 The deconstructed database The deconstructed database Query Data Stream Batch Machine model Exchange Processing execution learning Storage We can mix and match individual components Stream processing Machine learning Specialized Components Streams Stream persistance Storage Execution SQL Iceberg Resource management *not exhaustive! We can mix and match individual components Storage Query model Machine Learning Row oriented or columnar SQL Training models Immutable or mutable Functional Stream storage vs analytics optimized … Data Exchange Streaming Execution Batch Execution Row oriented Optimized for High Throughput and Low Optimized for high throughput and Columnar latency processing historical analysis Emergence of standard components Emergence of standard components Columnar Storage SQL parsing and Schema model Apache Parquet as columnar Apache Avro as pipeline friendly schema representation at rest. optimization for the analytics world. Apache Calcite as a versatile query optimizer framework Columnar Exchange Table abstraction Apache Arrow as the next generation in- Apache Iceberg has a great potential to memory representation and no-overhead provide Snapshot isolation and layout data exchange abstraction on top of distributed file systems. The deconstructed database’s optimizer: Calcite Storage Schema plugins SELECT f.c, AVG(b.d) FROM FOO f Select JOIN BAR b ON f.a = b.b Syntax Semantic GROUP BY f.c WHERE f.d = x … Optimizer Scan GROUP rules JOIN FILTER FOO BY Execution engine Select Scan BAR Optimization GROUP BY JOIN Execution FILTER Scan BAR Scan FOO Apache Calcite is used in: Batch SQL Streaming SQL • Apache Hive • Apache Apex • Apache Drill • Apache Flink • Apache Phoenix • Apache SamzaSQL • Apache Kilin • Apache StormSQL … … The deconstructed database’s storage Columnar Row oriented Immutable Optimized for analytics Optimized for serving Mutable To be performant a query engine requires deep integration with the storage layer. Query integration Implementing push down and a vectorized reader producing data in an efficient representation (for example Apache Arrow). Storage: Push downs PROJECTION PREDICATE AGGREGATION Read only what you need Filter Avoid materializing intermediary data Read only the columns that are Evaluate filters during scan to: To reduce IO, aggregation can needed: also be implemented during the • Leverage storage properties scan to: • Columnar storage makes this (min/max stats, partitioning, efficient. sort, etc.) • minimize materialization of • Avoid decoding skipped data. intermediary data • Reduce IO. The deconstructed database interchange: Apache Arrow Projection and predicate push downs Parquet files Arrow batches Shuffle Partial Scanner Agg Agg Result projection push down read only a and b Partial Scanner Agg Agg SELECT SUM(a) FROM t WHERE c = 5 GROUP BY b Partial Scanner Agg Agg Big Data infrastructure blueprint Big Data infrastructure blueprint Big Data infrastructure blueprint Legend: Persistence Processing Metadata UI Data Infra Real time Batch publishing publishing Data API Stream persistance Stream processing Real time Data API dashboards Schema Datasets Data Storage registry metadata (S3, GCS, HDFS) (Parquet, Avro) Interactive analysis Monitoring / Data API Observability Analyst Batch processing Periodic Scheduling/ dashboards Job deps Eng The Future Still Improving A better data Better interoperability Better data governance abstraction • A better metadata • More efficient interoperability: • Global Data Lineage repository: Marquez Continued Apache Arrow adoption • Access control • A better table abstraction: • Protect privacy Apache Iceberg • Common Push down • Record User consent implementations (filter, projection, aggregation) Some predictions A common access layer SQL (Impala, Drill, Presto, Hive, …) Batch (Spark, MR, Beam) ML (TensorFlow, …) Distributed access service Centralizes: • Schema evolution Table abstraction layer (Schema, push downs, access control, anonymization) • Access control/anonymization • Efficient push downs File System (HDFS, S3, GCS) Other storage (HBase, Cassandra, Kudu, …) • Efficient interoperability A multi tiered streaming batch storage system Stream consumer API Batch-Stream storage Projection, Predicate, Aggregation push downs integration Mainly reads from here Convergence of Kafka and Kudu 2) in memory • Schema evolution Time based 1) In memory column 3) On Disk Column oriented Ingestion row oriented oriented store • API store Access control/anonymization store • Efficient push downs • Efficient interoperability Mainly reads from here Batch consumer API Projection, Predicate, Aggregation push downs THANK YOU! [email protected] Julien Le Dem @J_ September 2018 We’re hiring! Contact: [email protected] We’re hiring! As of January • WeWork has 425 locations, in 100 cities internationally WeWork in numbers • Over 400,000 members worldwide • 27 countries • WeWork doubled in size last year and the year before • We expect to double in size this year as well We’re growing • Broadened scope: WeWork Labs, Powered by We, Flatiron School, Meetup, WeLive, … • San Francisco • New York Technology jobs Locations • Tel Aviv • Shanghai Contact: [email protected] Questions? Julien Le Dem @J_ [email protected] March 2019 Rate today ’s session Session page on conference website O’Reilly Events App.
Recommended publications
  • Apache Apex: Next Gen Big Data Analytics
    Apache Apex: Next Gen Big Data Analytics Thomas Weise <[email protected]> @thweise PMC Chair Apache Apex, Architect DataTorrent Apache Big Data Europe, Sevilla, Nov 14th 2016 Stream Data Processing Data Delivery Transform / Analytics Real-time visualization, … Declarative SQL API Data Beam Beam SAMOA Operator SAMOA DAG API Sources Library Events Logs Oper1 Oper2 Oper3 Sensor Data Social Databases CDC (roadmap) 2 Industries & Use Cases Financial Services Ad-Tech Telecom Manufacturing Energy IoT Real-time Call detail record customer facing (CDR) & Supply chain Fraud and risk Smart meter Data ingestion dashboards on extended data planning & monitoring analytics and processing key performance record (XDR) optimization indicators analysis Understanding Reduce outages Credit risk Click fraud customer Preventive & improve Predictive assessment detection behavior AND maintenance resource analytics context utilization Packaging and Improve turn around Asset & Billing selling Product quality & time of trade workforce Data governance optimization anonymous defect tracking settlement processes management customer data HORIZONTAL • Large scale ingest and distribution • Enforcing data quality and data governance requirements • Real-time ELTA (Extract Load Transform Analyze) • Real-time data enrichment with reference data • Dimensional computation & aggregation • Real-time machine learning model scoring 3 Apache Apex • In-memory, distributed stream processing • Application logic broken into components (operators) that execute distributed in a cluster •
    [Show full text]
  • The Cloud‐Based Demand‐Driven Supply Chain
    The Cloud-Based Demand-Driven Supply Chain Wiley & SAS Business Series The Wiley & SAS Business Series presents books that help senior-level managers with their critical management decisions. Titles in the Wiley & SAS Business Series include: The Analytic Hospitality Executive by Kelly A. McGuire Analytics: The Agile Way by Phil Simon Analytics in a Big Data World: The Essential Guide to Data Science and Its Applications by Bart Baesens A Practical Guide to Analytics for Governments: Using Big Data for Good by Marie Lowman Bank Fraud: Using Technology to Combat Losses by Revathi Subramanian Big Data Analytics: Turning Big Data into Big Money by Frank Ohlhorst Big Data, Big Innovation: Enabling Competitive Differentiation through Business Analytics by Evan Stubbs Business Analytics for Customer Intelligence by Gert Laursen Business Intelligence Applied: Implementing an Effective Information and Communications Technology Infrastructure by Michael Gendron Business Intelligence and the Cloud: Strategic Implementation Guide by Michael S. Gendron Business Transformation: A Roadmap for Maximizing Organizational Insights by Aiman Zeid Connecting Organizational Silos: Taking Knowledge Flow Management to the Next Level with Social Media by Frank Leistner Data-Driven Healthcare: How Analytics and BI Are Transforming the Industry by Laura Madsen Delivering Business Analytics: Practical Guidelines for Best Practice by Evan Stubbs ii Demand-Driven Forecasting: A Structured Approach to Forecasting, Second Edition by Charles Chase Demand-Driven Inventory
    [Show full text]
  • Pohorilyi Magistr.Pdf
    НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ «КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ імені ІГОРЯ СІКОРСЬКОГО» Факультет інформатики та обчислювальної техніки (повна назва інституту/факультету) Кафедра автоматики та управління в технічних системах (повна назва кафедри) «На правах рукопису» «До захисту допущено» УДК ______________ Завідувач кафедри __________ _____________ (підпис) (ініціали, прізвище) “___”_____________20__ р. Магістерська дисертація зі спеціальності (спеціалізації)126 Інформаційні системи та технології на тему: Система збору та аналізу тексових даних з соціальних мереж________ ____________________________________________________________________ Виконав: студент __6__ курсу, групи ___ІА-з82мп______ (шифр групи) Погорілий Богдан Анатолійович ____________________________ __________ (прізвище, ім’я, по батькові) (підпис) Науковий керівник: завідувач кафедри, д.т.н., професор Ролік О. І. __________ (посада, науковий ступінь, вчене звання, прізвище та ініціали) (підпис) Консультант: _______________________________ __________ (назва розділу) (науковий ступінь, вчене звання, , прізвище, ініціали) (підпис) Рецензент: _______________________________________________ __________ (посада, науковий ступінь, вчене звання, науковий ступінь, прізвище та ініціали) (підпис) Засвідчую, що у цій магістерській дисертації немає запозичень з праць інших авторів без відповідних посилань. Студент _____________ (підпис) Київ – 2019 року 3 Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Факультет (інститут)
    [Show full text]
  • Apache Calcite: a Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources
    Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources Edmon Begoli Jesús Camacho-Rodríguez Julian Hyde Oak Ridge National Laboratory Hortonworks Inc. Hortonworks Inc. (ORNL) Santa Clara, California, USA Santa Clara, California, USA Oak Ridge, Tennessee, USA [email protected] [email protected] [email protected] Michael J. Mior Daniel Lemire David R. Cheriton School of University of Quebec (TELUQ) Computer Science Montreal, Quebec, Canada University of Waterloo [email protected] Waterloo, Ontario, Canada [email protected] ABSTRACT argued that specialized engines can offer more cost-effective per- Apache Calcite is a foundational software framework that provides formance and that they would bring the end of the “one size fits query processing, optimization, and query language support to all” paradigm. Their vision seems today more relevant than ever. many popular open-source data processing systems such as Apache Indeed, many specialized open-source data systems have since be- Hive, Apache Storm, Apache Flink, Druid, and MapD. Calcite’s ar- come popular such as Storm [50] and Flink [16] (stream processing), chitecture consists of a modular and extensible query optimizer Elasticsearch [15] (text search), Apache Spark [47], Druid [14], etc. with hundreds of built-in optimization rules, a query processor As organizations have invested in data processing systems tai- capable of processing a variety of query languages, an adapter ar- lored towards their specific needs, two overarching problems have chitecture designed for extensibility, and support for heterogeneous arisen: data models and stores (relational, semi-structured, streaming, and • The developers of such specialized systems have encoun- geospatial). This flexible, embeddable, and extensible architecture tered related problems, such as query optimization [4, 25] is what makes Calcite an attractive choice for adoption in big- or the need to support query languages such as SQL and data frameworks.
    [Show full text]
  • Integrazioa Hizkuntzaren Prozesamenduan Anotazio-Eskemak Eta Elkarreragingarritasuna. Testuen Prozesatze Masiboa, Datu Handien T
    EUSKAL HERRIKO UNIBERTSITATEA Lengoaia eta Sistema Informatikoak Doktorego-tesia Integrazioa hizkuntzaren prozesamenduan Anotazio-eskemak eta elkarreragingarritasuna. Testuen prozesatze masiboa, datu handien teknikak erabiliz. Zuhaitz Beloki Leitza Donostia, 2017 EUSKAL HERRIKO UNIBERTSITATEA Lengoaia eta Sistema Informatikoak Integrazioa hizkuntzaren prozesamenduan Anotazio-eskemak eta elkarreragingarritasuna. Testuen prozesatze masiboa, datu handien teknikak erabiliz. Zuhaitz Beloki Leitzak Xabier Artola Zubillagaren eta Aitor Soroa Etxaberen zuzendaritzapean egindako tesiaren txoste- na, Euskal Herriko Unibertsitatean Doktore titulua eskuratzeko aurkeztua. Donostia, 2017. i ii Laburpena Tesi-lan honetan hizkuntzaren prozesamenduko tresnen integrazioa landu du- gu, datu handien teknikei arreta berezia eskainiz. Tresnen integrazioa, izatez, bi mailatan landu dugu: anotazio-eskemen mailan eta prozesuen mailan. Anotazio-eskemen mailako integrazioan tresnen arteko elkarreragingarritasu- na lortzeko lehenbiziko pausoak aurkeztea izan dugu helburu. Horrekin lotu- ta, bi anotazio-eskema aurkeztu ditugu: Anotazio-Amaraunen Arkitektura (AWA, Annotation Web Architecture) eta NLP Annotation Format (NAF). AWA tesi-lan honekin hasi aurretik sortua izan zen, eta orain formalizazio- lan bat egin dugu berarekin, elkarreragingarritasunari arreta berezia jarriz. NAF, bere aldetik, eskema praktikoa eta sinplea izateko helburuekin sortu dugu. Bi anotazio-eskema horietatik abiatuz, eskemarekiko independentea den eredu abstraktu bat diseinatu dugu. Abstrakzio
    [Show full text]
  • Dzone-Guide-To-Big-Data.Pdf
    THE 2018 DZONE GUIDE TO Big Data STREAM PROCESSING, STATISTICS, & SCALABILITY VOLUME V BROUGHT TO YOU IN PARTNERSHIP WITH THE DZONE GUIDE TO BIG DATA: STREAM PROCESSING, STATISTICS, AND SCALABILITY Dear Reader, Table of Contents I first heard the term “Big Data” almost a decade ago. At that time, it Executive Summary looked like it was nothing new, and our databases would just be up- BY MATT WERNER_______________________________ 3 graded to handle some more data. No big deal. But soon, it became Key Research Findings clear that traditional databases were not designed to handle Big Data. BY G. RYAN SPAIN _______________________________ 4 The term “Big Data” has more dimensions than just “some more data.” It encompasses both structured and unstructured data, fast moving Take Big Data to the Next Level with Blockchain Networks BY ARJUNA CHALA ______________________________ 6 and historical data. Now, with these elements added to the data, some of the other problems such as data contextualization, data validity, Solving Data Integration at Stitch Fix noise, and abnormality in the data became more prominent. Since BY LIZ BENNETT _______________________________ 10 then, Big Data technologies has gone through several phases of devel- Checklist: Ten Tips for Ensuring Your Next Data Analytics opment and transformation, and they are gradually maturing. A term Project is a Success BY WOLF RUZICKA, ______________________________ that was considered as a fad and a technology ecosystem that was 13 considered a luxury are slowly establishing themselves as necessary Infographic: Big Data Realization with Sanitation ______ needs for today’s business activities. Big Data is the new competitive 14 advantage and it matters for our businesses.
    [Show full text]
  • Building Streaming Applications with Apache Apex
    Building Streaming Applications with Apache Apex Chinmay Kolhatkar, Committer @ApacheApex, Engineer @DataTorrent Thomas Weise, PMC Chair @ApacheApex, Architect @DataTorrent Nov 15th 2016 Agenda • Application Development Model • Creating Apex Application - Project Structure • Apex APIs • Configuration Example • Operator APIs • Overview of Operator Library • Frequently used Connectors • Stateful Transformation & Windowing • Scalability - Partitioning • End-to-end Exactly Once 2 Application Development Model Directed Acyclic Graph (DAG) Operator er Enriched Filtered Stream Stream Operator Operator Operator Operator Output Tuple Tuple er er er Stream er Filtered Operator Stream Enriched er Stream ▪Stream is a sequence of data tuples ▪Operator takes one or more input streams, performs computations & emits one or more output streams • Each Operator is YOUR custom business logic in java, or built-in operator from our open source library • Operator has many instances that run in parallel and each instance is single-threaded ▪Directed Acyclic Graph (DAG) is made up of operators and streams 3 Creating Apex Application Project chinmay@chinmay-VirtualBox:~/src$ mvn archetype:generate -DarchetypeGroupId=org.apache.apex -DarchetypeArtifactId=apex-app-archetype -DarchetypeVersion=LATEST -DgroupId=com.example -Dpackage=com.example.myapexapp -DartifactId=myapexapp -Dversion=1.0-SNAPSHOT … … ... Confirm properties configuration: groupId: com.example artifactId: myapexapp version: 1.0-SNAPSHOT package: com.example.myapexapp archetypeVersion: LATEST Y: :
    [Show full text]
  • Code Smell Prediction Employing Machine Learning Meets Emerging Java Language Constructs"
    Appendix to the paper "Code smell prediction employing machine learning meets emerging Java language constructs" Hanna Grodzicka, Michał Kawa, Zofia Łakomiak, Arkadiusz Ziobrowski, Lech Madeyski (B) The Appendix includes two tables containing the dataset used in the paper "Code smell prediction employing machine learning meets emerging Java lan- guage constructs". The first table contains information about 792 projects selected for R package reproducer [Madeyski and Kitchenham(2019)]. Projects were the base dataset for cre- ating the dataset used in the study (Table I). The second table contains information about 281 projects filtered by Java version from build tool Maven (Table II) which were directly used in the paper. TABLE I: Base projects used to create the new dataset # Orgasation Project name GitHub link Commit hash Build tool Java version 1 adobe aem-core-wcm- www.github.com/adobe/ 1d1f1d70844c9e07cd694f028e87f85d926aba94 other or lack of unknown components aem-core-wcm-components 2 adobe S3Mock www.github.com/adobe/ 5aa299c2b6d0f0fd00f8d03fda560502270afb82 MAVEN 8 S3Mock 3 alexa alexa-skills- www.github.com/alexa/ bf1e9ccc50d1f3f8408f887f70197ee288fd4bd9 MAVEN 8 kit-sdk-for- alexa-skills-kit-sdk- java for-java 4 alibaba ARouter www.github.com/alibaba/ 93b328569bbdbf75e4aa87f0ecf48c69600591b2 GRADLE unknown ARouter 5 alibaba atlas www.github.com/alibaba/ e8c7b3f1ff14b2a1df64321c6992b796cae7d732 GRADLE unknown atlas 6 alibaba canal www.github.com/alibaba/ 08167c95c767fd3c9879584c0230820a8476a7a7 MAVEN 7 canal 7 alibaba cobar www.github.com/alibaba/
    [Show full text]
  • Introduction to Apache Beam
    Introduction to Apache Beam Dan Halperin JB Onofré Google Talend Beam podling PMC Beam Champion & PMC Apache Member Apache Beam is a unified programming model designed to provide efficient and portable data processing pipelines What is Apache Beam? The Beam Programming Model Other Beam Beam Java Languages Python SDKs for writing Beam pipelines •Java, Python Beam Model: Pipeline Construction Beam Runners for existing distributed processing backends Apache Apache Apache Apache Cloud Apache Apache Apex Flink Gearpump Spark Dataflow Apex Apache Gearpump Apache Beam Model: Fn Runners Google Cloud Dataflow Execution Execution Execution What’s in this talk • Introduction to Apache Beam • The Apache Beam Podling • Beam Demos Quick overview of the Beam model PCollection – a parallel collection of timestamped elements that are in windows. Sources & Readers – produce PCollections of timestamped elements and a watermark. ParDo – flatmap over elements of a PCollection. (Co)GroupByKey – shuffle & group {{K: V}} → {K: [V]}. Side inputs – global view of a PCollection used for broadcast / joins. Window – reassign elements to zero or more windows; may be data-dependent. Triggers – user flow control based on window, watermark, element count, lateness - emitting zero or more panes per window. 1.Classic Batch 2. Batch with 3. Streaming Fixed Windows 4. Streaming with 5. Streaming With 6. Sessions Speculative + Late Data Retractions Simple clickstream analysis pipeline Data: JSON-encoded analytics stream from site •{“user”:“dhalperi”, “page”:“blog.apache.org/feed/7”,
    [Show full text]
  • Apache Calcite for Enabling SQL Access to Nosql Data Systems Such As Apache Geode Christian Tzolov Whoami Christian Tzolov
    Apache Calcite for Enabling SQL Access to NoSQL Data Systems such as Apache Geode Christian Tzolov Whoami Christian Tzolov Engineer at Pivotal, Big-Data, Hadoop, Spring Cloud Dataflow, Apache Geode, Apache HAWQ, Apache Committer, Apache Crunch PMC member [email protected] blog.tzolov.net twitter: @christzolov https://nl.linkedin.com/in/tzolov Disclaimer This talk expresses my personal opinions. It is not read or approved by Pivotal and does not necessarily reflect the views and opinions of Pivotal nor does it constitute any official communication of Pivotal. Pivotal does not support any of the code shared here. 2 Big Data Landscape 2016 • Volume • Velocity • Varity • Scalability • Latency • Consistency vs. Availability (CAP) 3 Data Access • {Old | New} SQL • Custom APIs – Key / Value – Fluent APIs – REST APIs • {My} Query Language Unified Data Access? At What Cost? 4 SQL? • Apache Apex • SQL-Gremlin • Apache Drill … • Apache Flink • Apache Geode • Apache Hive • Apache Kylin • Apache Phoenix • Apache Samza • Apache Storm • Cascading • Qubole Quark 5 Geode Adapter - Overview SQL/JDBC/ODBC Parse SQL, converts into relational expression and Apache Calcite optimizes Push down the relational expressions supported by Geode Spring Data API for Enumerable OQL and falls back to the Calcite interacting with Geode Adapter Enumerable Adapter for the rest Convert SQL relational Spring Data Geode Adapter expressions into OQL queries Geode (Geode Client) Geode API and OQL Geode Server Geode Server Geode Server Data Data Data SQL Relational Expressions
    [Show full text]
  • Apache Apex Recommendation Example
    Apache Apex Recommendation Example Made-to-order Silvan blackbirds, his kickers danced crenels thick-wittedly. Aerial Donal begrimed perceptively and narratively, she depredated her imponents reassume lucklessly. Dodecasyllabic Russ bases Byronically, he recruits his scrutinizers very tumidly. Consent for these steps to guarantee it basically means what they have difference between cost and testing, backup or apache apex browser tab of control Apache Apex in a Nutshell Hello and masterpiece to another. Oracle recommends that returns a finite chunks and examples in many benefits to get our dev weekly basis and take about. The apex is set is free html and can technically write code. In apex and examples to address any page. Instance for apache rewrite rule indicates that are called context variable with apache apex recommendation example yourself with its own database as long as. SQL Formatter Settings respository. See meet for examples of mixture to divide an HSTS policy two common web servers. Thus the soql query in the capabilities of that allows developers within the application data requirements before, while kafka streams would. Sql examples are interested in apex listener to example as. This vulnerability since then. Server technology enthusiast who are a beginning and number for server configuration of these cookies to go from student evaluation. API Analysis & News ProgrammableWeb. The success of women business, though, depends on driving the customers and users toward profitable transactions. An list of distributed streaming machine learning framework. To fix this issue, we had to properly set the retention properties in server. This method removes all the leading white spaces from a ingenious and returns it.
    [Show full text]
  • Testsmelldescriber Enabling Developers’ Awareness on Test Quality with Test Smell Summaries
    Bachelor Thesis January 31, 2018 TestSmellDescriber Enabling Developers’ Awareness on Test Quality with Test Smell Summaries Ivan Taraca of Pfullendorf, Germany (13-751-896) supervised by Prof. Dr. Harald C. Gall Dr. Sebastiano Panichella software evolution & architecture lab Bachelor Thesis TestSmellDescriber Enabling Developers’ Awareness on Test Quality with Test Smell Summaries Ivan Taraca software evolution & architecture lab Bachelor Thesis Author: Ivan Taraca, [email protected] URL: http://bit.ly/2DUiZrC Project period: 20.10.2018 - 31.01.2018 Software Evolution & Architecture Lab Department of Informatics, University of Zurich Acknowledgements First of all, I like to thank Dr. Harald Gall for giving me the opportunity to write this thesis at the Software Evolution & Architecture Lab. Special thanks goes out to Dr. Sebastiano Panichella for his instructions, guidance and help during the making of this thesis, without whom this would not have been possible. I would also like to express my gratitude to Dr. Fabio Polomba, Dr. Yann-Gaël Guéhéneuc and Dr. Nikolaos Tsantalis for providing me access to their research and always being available for questions. Last, but not least, do I want to thank my parents, sisters and nephews for the support and love they’ve given all those years. Abstract With the importance of software in today’s society, malfunctioning software can not only lead to disrupting our day-to-day lives, but also large monetary damages. A lot of time and effort goes into the development of test suites to ensure the quality and accuracy of software. But how do we elevate the quality of test code? This thesis presents TestSmellDescriber, a tool with the ability to generate descriptions detailing potential problems in test cases, which are collected by conducting a Test Smell analysis.
    [Show full text]