Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Getting Started with NuoDB Community Edition

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
Introduction to NuoDB
Introduction to NuoDB
Chargement dans…3
×

Consultez-les par la suite

1 sur 26 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Getting Started with NuoDB Community Edition (20)

Plus par NuoDB (18)

Publicité

Plus récents (20)

Getting Started with NuoDB Community Edition

  1. 1. The elastic SQL database for hybrid cloud applications GETTING STARTED WITH NUODB February 15, 2017
  2. 2. LOGISTICS AND INTRODUCTIONS Christina Wong Director of Product Marketing 2 Boris Bulanov Vice President of Technology + All attendees are muted + Submit questions in the Q&A box on the right + Webinar is being recorded and will be available for replay
  3. 3. DATABASE MODERNIZATION LAGS BEHIND 3
  4. 4. POSSIBLE COMPROMISES 4 Traditional NoSQL Cloud Other NewSQL Familiar development (ANSI SQL) Maintain business database of record Straightforward to elastically scale Fast data access for the app Continuous availability Simple migration Deployment flexibility
  5. 5. WHAT’S NEEDED FOR CLOUD SUCCESS? 5 Virtualization, Commodity & Cloud Scale out / in ACID (consistency) Existing SQL skills & code SQL database abstraction What everyone wants: What they don’t want to lose “Elasticity” “SQL” “I want to elastically scale my SQL RDBMS to the cloud” Continuous Availability
  6. 6. NUODB, THE ELASTIC SQL DATABASE 6 Separate the application, transactions, and storage for elastic scalability In-memory transactions + Working data set + No shards / explicit partitioning + Scale throughput & clients on-demand Redundant, flexible storage + Durable persistence + Automatically replicate to multiple locations + Storage management independent of performance considerations One logical database + Both tiers survive failures and rolling upgrades at any peer + Allocate servers based on workload
  7. 7. A WALK THROUGH NUODB COMMUNITY EDITION
  8. 8. PROCESS + Introduction + Install + Manage + Run + Survive TOPICS TAKE-AWAYS + Simplicity  Dynamic configuration and management + Capacity on-demand  Elastic scale-out + Resilience  No single point of failure
  9. 9. TETE TE SM SM NuoDB ARCHITECTURE IN PRACTICE NuoDBdatabase App App App + Fully redundant + Elastically scalable + Continuously available Available host SM Storage Manager (SM) Transaction Engine (TE)TE Scale-out adds + Active/Active across single DC or multiple AZ’s
  10. 10. CE SAMPLE DEPLOYMENT TOPOLOGY 10 Host-0 Host-1 Host-2 Host-3 Host-4 B1 B2 B3 B4 SM 1 Journal Archive AP1 TE2 TE1 TE2
  11. 11. 1. INSTALL – PROVISION HOSTS + Provisioning hosts  Prepare • Machines are properly networked (for AWS see Appendix A) • Install on each host – see CE blog at http://www.nuodb.com/ce-tech-blog • Modify host configuration $ sudo vi /opt/nuodb/etc/default.properties • domainPassword = bird • peer = (SEE NEXT SLIDE)  Start Brokers $ sudo /opt/nuodb/etc/nuoagent start  Check Brokers $ /opt/nuodb/bin/nuodbmgr –-broker localhost –password bird nuodb [domain] > show domain summary 11
  12. 12. 1. INSTALL – CONFIGURE BROKERS 12 Host-0 Host-1 Host-2 Host-3 Host-4 B1 B2 B4 B3 peer = peer = host-1 peer = host-1 peer = host-1
  13. 13. 1. INSTALL – START DATABASE + Start Database  Create directory for database archive – ex. /home/ubuntu/dbs  Start SM nuodb [domain] > start process sm archive /home/ubuntu/dbs host host-4 database hockey initialize true  Start TEs nuodb [domain] > start process te host host-1 database hockey options '--dba-user dba --dba-password dba' nuodb [domain] > start process te host host-2 database hockey options '--dba-user dba --dba-password dba' nuodb [domain] > start process te host host-3 database hockey options '--dba-user dba --dba-password dba'  Pay attention to non-specified default parameters: • Commit – local (default) or remote – flexible commit protocol • Memory – 2GB (default) – garbage collection trigger 13
  14. 14. 1. INSTALL – POPULATE DATABASE + Populate Database $ /opt/nuodb/bin/nuosql hockey@localhost --user dba --password dba -- file /opt/nuodb/samples/quickstart/sql/create-db.sql $ /opt/nuodb/bin/nuosql hockey@localhost --user dba --password dba -- file /opt/nuodb/samples/quickstart/sql/Teams.sql $ /opt/nuodb/bin/nuosql hockey@localhost --user dba --password dba -- file /opt/nuodb/samples/quickstart/sql/Players.sql $ /opt/nuodb/bin/nuosql hockey@localhost --user dba --password dba -- file /opt/nuodb/samples/quickstart/sql/Scoring.sql 14
  15. 15. 1. INSTALL – PROVISIONED DATABASE 15 Host-0 Host-1 Host-2 Host-3 Host-4 B1 B2 B3 B4 TE2 TE1 TE3 SM 1 Journal Archive
  16. 16. 2. MANAGE – DOMAIN AND SYSTEM + DOMAIN - NuoDB Manager Utility $ /opt/nuodb/bin/nuodbmgr –-broker localhost –password bird nuodb [domain] > show domain health nuodb [domain] > show host properties host localhost + SYSTEM - NuoSQL client $ /opt/nuodb/bin/nuosql hockey –-user dba –-password dba SQL> select sqlstring, connid, nodeid from system.connections where handle = 1; SQL> select id, address, type, triptime from system.nodes; 16
  17. 17. 2. MANAGE – ENGINES AND SQL + ENGINES – Monitoring $ /opt/nuodb/bin/nuodbmgr –-broker localhost - -password bird --command "monitor domain" + SQL – Monitoring $ /opt/nuodb/bin/nuodbmgr --broker localhost --password bird --command "log database hockey categories sql-statements" 17
  18. 18. 3. RUN 18 Host-0 Host-1 Host-2 Host-3 Host-4 B1 B2 B3 B4 AP1 TE2 TE1 TE3 SM 1 Journal Archive
  19. 19. 3. RUN – JAVA CLIENT + Java Client Program … … 19
  20. 20. 3. RUN – COMPILE AND START + Compile $ javac -cp /opt/nuodb/jar/nuodbjdbc.jar SimpleDriver.java 20 Feb:12:19:37:14; work=1282.01op/s; time=4999.97; ave latency=2.05ms; ave tx=22.14ms Feb:12:19:37:19; work=1302.05op/s; time=10007.28; ave latency=2.04ms; ave tx=21.82ms Feb:12:19:37:24; work=1315.21op/s; time=15001.44; ave latency=2.02ms; ave tx=21.61ms Feb:12:19:37:29; work=1316.48op/s; time=20007.94; ave latency=2.03ms; ave tx=21.59ms Feb:12:19:37:34; work=1320.34op/s; time=25008.73; ave latency=2.02ms; ave tx=21.54ms Feb:12:19:37:39; work=1322.23op/s; time=30009.95; ave latency=2.02ms; ave tx=21.50ms Feb:12:19:37:44; work=1322.23op/s; time=30009.95; ave latency=2.02ms; ave tx=21.50ms Feb:12:19:37:44; Total statements=39,680; elapsed=30009.95ms (sleep=1404.909ms); rows=0; rate=1322.23op/s; ave latency=2.02ms; ave tx=21.50ms; + Run $ java -cp ./:/opt/nuodb/jar/nuodbjdbc.jar SimpleDriver -url jdbc:com.nuodb://localhost/hockey -user dba - password dba -threads 3 -time 60 -report 5 -batch 10
  21. 21. 4. SURVIVE - THE FAILURE SCENARIO 21 Host-0 Host-1 Host-2 Host-3 Host-4 B1 B2 B3 B4 AP1 TE2 TE1 TE3 SM 1 Journal Archive
  22. 22. + 1. Check Domain $ /opt/nuodb/bin/nuodbmgr –-broker localhost – password bird nuodb [domain] > show domain summary Database: hockey, (unmanaged), processes [3 TE, 1 SM], ACTIVE [TE]172.31.19.9:48005 [ pid = 6495 ] [ nodeId = 9 ] RUNNING [TE]172.31.26.217:48005 [ pid = 7232 ] [ nodeId = 11 ] RUNNING [SM]127.0.0.1:48005 [ pid = 1917 ] [ nodeId = 1 ] RUNNING [TE]172.31.29.177:48005 [ pid = 7609 ] [ nodeId = 8 ] RUNNING + 3. Kill TE nuodb [domain] > shutdown process Host: host-2 Process ID: 6495 Process shutdown cleanly 4. SURVIVE - START + 2. Check connections $ /opt/nuodb/bin/nuosql hockey –-user dba –- password dba SQL> select sqlstring, nodeid, connid from system.connections; SQLSTRING NODEID CONNID ------------------------------------------- ------- ------- SELECT * from User.Teams WHERE year < ? 9 22 SELECT * from User.Teams WHERE year < ? 9 23 9 24 select sqlstring, nodeid, connid from 9 25 SELECT * from User.Teams WHERE year < ? 11 9 11 10 11 11 11 12 8 25 SELECT * from User.Teams WHERE year < ? 8 26 8 27 22
  23. 23. + 4. Observe Client Application (change time parameter) $ java -cp ./:/opt/nuodb/jar/nuodbjdbc.jar SimpleDriver -url jdbc:com.nuodb://localhost/hockey -user dba -password dba -threads 3 -time 1000 -report 5 -batch 10 INFO: Feb:10:16:17:14; work=1342.00op/s; ave latency=2.12ms INFO: Feb:10:16:17:19; work=1342.00op/s; ave latency=2.12ms INFO: Feb:10:16:17:24; work=1342.00op/s; ave latency=2.12ms INFO: Feb:10:16:17:29; work=1343.00op/s; ave latency=2.12ms INFO: Feb:10:16:17:34; work=1344.00op/s; ave latency=2.11ms INFO: Feb:10:16:17:37; Communication failed with TE failing over... java.sql.SQLTransientConnectionException: End of stream reached INFO: Feb:10:16:17:37; Communication failed with TE failing over... java.sql.SQLTransientConnectionException: End of stream reached INFO: Feb:10:16:17:37; Communication failed with TE failing over… java.sql.SQLTransientConnectionException: End of stream reached INFO: Feb:10:16:17:39; work=1344.00op/s; ave latency=2.11ms INFO: Feb:10:16:17:44; work=1342.00op/s; ave latency=2.12ms INFO: Feb:10:16:17:49; work=1341.00op/s; ave latency=2.12ms 4. SURVIVE - CONTINUE + 5. Check connections $ /opt/nuodb/bin/nuosql hockey –-user dba –-password dba SQL> select sqlstring, nodeid, connid from system.connections; SQLSTRING NODEID CONNID ----------------------------------------- ------- ------- select sqlstring, nodeid, connid from system 8 28 8 29 SELECT * from User.Teams WHERE year < ? 8 30 8 31 SELECT * from User.Teams WHERE year < ? 8 32 8 33 11 13 11 14 11 15 SELECT * from User.Teams WHERE year < ? 11 16 11 17 23
  24. 24. PROCESS + Install + Manage + Run + Survive SUMMARY TAKE-AWAYS + Simplicity  Dynamic configuration and management + Capacity on-demand  Elastic scale-out + Resilience  No single point of failure
  25. 25. + Get started!  These Slides • To be sent following webinar  TechBlog Post w/installation details • www.nuodb.com/ce-tech-blog  GitHub Repository with samples • www.nuodb.com/github-getting- started QUESTIONS & NEXT STEPS + Upgrade for more robust features!  Jump Start program (for start-ups) • Free, fully redundant development database (2 TEs : 2 SMs) • www.nuodb.com/jump-start  Request evaluation • www.nuodb.com/evaluating-nuodb  Upgrade to Professional or Enterprise Edition • www.nuodb.com/contact-sales 25
  26. 26. APPENDIX A – AWS CONFIGURATION 26 + Recommended EC2 types  t2.micro • brokers only, experimenting  t2.large • development, functional test  r4.xlarge for TE • performance benchmarking with best memory per $  r3.xlarge for SM • performance benchmarking with best SSD per $  r4.xlarge/r3.xlarge and higher • production systems + Open ports in Security Groups  NuoDB default port range – 48004 – 49000  Example:

Notes de l'éditeur

  • ROI:
    Cost compared to Oracle
    Time to market – what does that mean for you

    Audience:
    This is good for intro (exa/chp) meeting

    Intro slide:
    No more outages
    Get to cloud faster
    Cut database costs
    Automate disaster recovery
    Future proof
    Improve server / hardware utilization
  • Hello, everyone and welcome to our webinar “Getting started with NuoDB”
     
    My name is Christina Wong and I will be the moderator for today's webinar.
     
    also the Director of Product Marketing here at NuoDB
    responsible for understanding how NuoDB solves customer and market problems and communicating that both within NuoDB as well as to the outside world.
    recently joined NuoDB in November from Red Hat
    Was in charge of product marketing for JBoss Middleware application development platform products.
     
    today, joined by Boris Bulanov, who is the star of today's webinar
    Vice president of technology
    Represents the voice of the customer within our organization
    Responsible for understanding customer requirements especially with regards to solution architecture, return on investment, and how NuoDB can successfully address these needs.
    Boris will be walking us through how to get started with NuoDB, using our free Community Edition version for today's example.
     
    But, before we begin today’s presentation, I’d like to review a few logistics.
    Our webinar will last approximately 45 minutes. It will be recorded and made available for replay afterwards.
     
    If at any point in time you experience a bad connection during the webinar, GoToWebinar will typically try to re-connect you. However, if that isn't working, please try closing your browser and then signing back in.
     
    All attendees will be muted during the call but we certainly welcome your questions!
    In order to submit questions, please use the questions box in the goto webinar control panel.
     
    And, after the presentation is over, we'll answer as many of your questions as time allows.
     
     
    Before I turn the presentation over to Boris, I'd just like to set the stage and provide some context for why we are here today….
  •  
    We get a lot of attention from organizations seeking to build new applications for the cloud or migrate existing applications to the cloud. Why? Because cloud environments provide elastic scalability, cost savings, availability, and flexibility beyond what traditional environments can provide.
     
    In fact, just last week we published a press release about a customer who was facing this exact situation. Alfa produces an end-to-end platform for lenders that do financing and leasing of assets like cars, airplanes, farm machinery, and more. They have a large number of on-premises and single private cloud customers.
     
    Alfa realized that, as the world has moved towards cloud applications, market expectations were increasing around customer experience and availability. And, because of these trends, they decided that they needed to offer a highly available cloud solution that could cost effectively scale as their needs grew.
     
    But, while organizations like Alfa can easily scale out their web tier, application tier, and their storage tier, their databases weren't originally designed to scale. Instead, finding a database solution that scales typically means giving up other important database capabilities in return for cloud benefits.
  • Specifically, many organizations don't want to give up transactional consistency, durability, and true ACID guarantees. Or a familiar SQL interface.
     
    And, often, achieving scale out and cloud benefits means purchasing add-ons…
    that means that organizations are looking at giving up budget and resources and simplicity.
    In fact, when we look out over common database choices…. traditional databases (such as Oracle, microsoft, and IBM), Nosql solutions, cloud databases, or other newsql solutions, each has their strengths and drawbacks of what they can offer.
     
  • When customers like Alfa come to us, they are often looking for a way to gain elasticity while maintaining ACID performance expectations and familiarity of SQL.
     
    In fact, when Alfa choose NuoDB for several reasons related to cloud plus traditional benefits. Beyond elastic scalability, ACID compliance, and the SQL interface, Alfa also choose NuoDB because it can be configured to deliver full active-active benefits while saving customers up to 90% costs in database licensing fees.
  • As an elastic SQL database - NuoDB was conceived, fundamentally, as a peer-to-peer distributed architecture that provides database services. It appears as a single logical ANSI- SQL database to the application so it's straightforward for developers to work with. But under the hood, both the in-memory transaction layer and the storage layer are composed of process nodes that can easily to scale out or back in, and be configured for varying requirements of performance, resiliency, availability, workload, throughput, and whatever else.
     
    One great way to learn about NuoDB is to download our free Community Edition and start playing with the technology. In fact, this is exactly what Alfa did. They started with Community Edition.
     
    Then they found that the familiarity to traditional databases in terms of ANSI SQL functionality plus ACID transactions made it really easy to migrate their application over - which they did on their own.
     
    And now they've upgraded to our enterprise version in order to scale out, implement an active-active deployment, and to get official support for production use.
     
    Alfa's not the only one - We have thousands of customers who have used Community Edition to explore NuoDB for use with larger production deployments as well as developers who use it as their database of choice in smaller projects.
     
    And, just a couple weeks ago, we released a new, expanded, version of Community Edition which really showcases our ability to scale out across multiple transaction process nodes and across multiple hosts.
     
    So, with that little introduction to who we are, I'm now going to turn the webinar over to Boris to show you exactly how you can get started with NuoDB Community Edition and take advantage of the newest functionality we've added to the product.
     
    Boris?

×