Categories
Cloud & Big Data

ToroDB: NoSQL & relational Java database with SQL analytics

ToroDB: NoSQL & relational Java database with SQL analytics

alvaro ToroDB: NoSQL & relational Java database with SQL analytics

Álvaro Hernandez is a 36 year-old IT entrepreneur, based in Madrid, Spain. Founder and CTO at 8Kdata, a database R&D company, he spends most of his time working on the ToroDB project, the first NoSQL-on-SQL database, a MongoDB-compatible database that runs on top of PostgreSQL. He is a passionate software developer and open source advocate. Álvaro is a Java software developer, member of JavaSpecialists.eu, but also a DBA, trainer and frequent lecturer at international conferences. He also founded the PostgreSQL Spanish User Group, one of the largest PUGs in the world, with more than 500 members.

How do you cope with the rise of unstructured data? Do you have different systems for your NoSQL and your SQL databases? How do you perform analytics of NoSQL data? ToroDB is an open-source NoSQL & relational database written in Java. ToroDB transforms NoSQL documents to relational structures and stores them in relational databases like PostgreSQL. ToroDB speaks the MongoDB protocol, being compatible with MongoDB programs and tools. With ToroDB, you can use either SQL or the MongoDB API for queries. ToroDB automatically structures and partitions your NoSQL data. ToroDB also speaks the MongoDB protocol and can replicate live from it. And you can do analytics in pure SQL against Massively Parallel Databases like Greenplum or CitusDB. Join this talk to understand how ToroDB works, what advantages it may bring to your Big Data architecture, and how to hack ToroDB’s Java open source code.

 

Categories
Cloud & Big Data

Distributed Data Processing with Infinispan and Java Streams

Distributed Data Processing with Infinispan and Java Streams

zamareno Distributed Data Processing with Infinispan and Java Streams

Galder Zamarreño is a core R&D engineer at JBoss, a division of Red Hat. He is one of the founding engineers of Infinispan, Red Hat’s distributed, in-memory key-value store and he currently spends most of his time developing Infinispan’s Functional Map API as well as other data grid and caching functionality. He is very keen on functional programming and has been developing in Scala since 2009. Galder has previously worked with JBoss customers helping them build highly distributed and massively scalable Application Server clusters based on technologies such as JGroups and JBoss Cache. Prior to joining Red Hat, Galder worked in the Retail industry where he was a software developer involved in the development of an EFT software switch solution based on JBoss technologies. The love for distributed systems and open source software comes from his days at ESIDE faculty at University of Deusto (Bilbao, Spain) where he studied a master’s degree in Computer Science.

Infinispan is a distributed in-memory key/value data store capable accelerating data processing using Hadoop, Spark and home-grown Map/Reduce APIs. Starting with Infinispan 8, you can now also use the Java 8 Stream API to process, transform and analyse the data stored in the grid, without burdening the architecture with external platforms. Processing can be applied to keys and/or values and it uses Infinispan’s data partitioning logic to distribute operations to nodes where data lives so that they can be executed locally. In this talk you’ll learn about this new extension to Java 8’s Stream class to process data in Infinispan and how it compares with existing APIs.

Categories
Java

DI Frameworks – some hidden pearls

Dependency Injection is now part of nearly every Java project.

sven Dependency Injection is now part of nearly every Java project.

Sven Ruppert has been coding Java since 1996. He is a Fellow for reply based in Munich. In his free time he is regularly speaking at Conferences like JavaOne, Jfokus, Devoxx, JavaZone, and many more, and contributes to IT periodicals as well as tech portals. He is blogging at www.rapidpm.org.

Dependency Injection is now part of nearly every Java project. But what is the difference between DI and CDI. How to decide what I could use better, what frameworks are available and what are the differences for me as a programmer? What could be an option for the IoT, Desktop or Web project? In this talk we will get an overview of different frameworks and how they are working. We are not checking the well known big one only, but we are looking at some small sometimes specialized hidden pearls.

Categories
Java

Using actors for The Internet of (Lego) Trains

Using actors for The Internet of (Lego) Trains

237f560 Using actors for The Internet of (Lego) Trains

Johan is working as a Java architect and competence center Java lead at Info Support. He has been working for various demanding companies where rapidly delivering quality software was very important. Currently he is working in a DevOps team in a big financial institution in The Netherlands as Java architect. He likes sharing his knowledge about Java, continuous delivery, DevOps, software quality and numerous other subjects. Johan regularly writes articles and gives presentations about those subject for instance at JavaOne, JavaLand, JBCNConf, JavaCro, ConFESS and J-Fall.

Using actors for The Internet of (Lego) Trains

Jim is working as a Java consultant at Info Support. He is currently working at the Dutch railway company where they are building the future of railway control. Jim likes learning new things as much as applying and sharing his current knowledge

Last year we started a new Internet of Things project: The Internet of (Lego) Trains. In our normal jobs we use languages like Java and Scala to build applications for large organizations. We wanted to find out if we could use the same languages and tools on IoT hardware. We also wanted to investigate whether or not (remote) actors could replace REST endpoints in our applications. Next to that it was also a good excuse to play with Lego. The Lego trains are equipped with a Raspberry Pi, camera, wireless dongle, infrared transmitter, speaker, RFID reader and battery pack. Next to that we have automated switch tracks and camera’s again with the help of Raspberry Pi’s. We also build some lightning effects with LEDs controlled by Particle Photon’s. On top of that we also automated a Lego ferris wheel. To control the trains and other parts we built an remote actor based application with Scala, Akka, Akka HTTP and AngularJS. In this session we will talk about our experiences and challenges and of course we will give a live demo!

Categories
Java

An Architecture with CQRS and Event Sourcing

An Architecture with CQRS and Event Sourcing

photo An Architecture with CQRS and Event Sourcing

Eugen Paraschiv is an engineer with a passion for Java, Spring, REST, TDD, and more recently producing great video. He spends most of his time teaching, writing, curating the weekly review and wearing many other hats on baeldung.com. He spoke at many JUG meetings, the Spring IO in Barcelona, as well as several live webinars (he holds one every two weeks). Right now he is working on a course (REST With Spring).

In this talk, I will share my experience building and deploying an event-sourced, CQRS Spring application. You will learn about the challenges of separating the update model from the query model in a complex domain, how commands naturally lead to events and to an event based system, and how these events get projected into useful, eventually consistent views. You will also learn about using the right type of persistence for each projection – Spring Data JPA for some, Spring Data Elasticsearch for others, etc. Finally – we’ll see how Projections can be separated from one another and run independently in separate Spring Contexts, separate processes and even separate hardware. The fact that Projections are just another name for Microservices is just gravy.