Why Genero db - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Why Genero db

Description:

Lock-free resists the need to lock & eliminates contention ... MLS Assistant. REALTOR Multiple Listings. Search for homes & tools for the home buying process. ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 28
Provided by: brynje
Category:
Tags: genero | listings | mls

less

Transcript and Presenter's Notes

Title: Why Genero db


1
(No Transcript)
2
Why Genero db?
  • Between 5 to 15 times faster
  • In-memory configuration with automatic dataflow
    to disk
  • Lock-free resists the need to lock eliminates
    contention
  • Preparation by compilation precompiled SQL
  • Thread reassignment saves startup overhead

Page 2
An Alternative Vision Corporate Presentation

8/3/2009
3
Customers
  • Sprint
  • Advanced Messaging Value Added Services
  • 10M transactions/day
  • 10x MS SQL
  • eRevolution
  • SMB Retail Outsource
  • 1-2 Registers, gas pumps
  • Store system ASP
  • IRI partner
  • Grupo SC
  • Payroll Document Management
  • 200K transactions/day
  • Largest SI in Mexico
  • 8X Oracle performance
  • MLS Assistant
  • REALTOR Multiple Listings
  • Search for homes tools for the home buying
    process.
  • 5x MS SQL performance

Page 3
An Alternative Vision Corporate Presentation

8/3/2009
4
The Lowest Cost
  • To
  • Buy Fewer servers licenses
  • Develop Transparent coding, not exotic
    configurations with database partitioning
  • Run powerful architecture, no need for clusters
    multi-node licensing
  • Maintain ½ support cost, no need for expensive
    teams of DB consultants
  • Port Universal Compatibility

5
Overview
  • Standard SQL relational database
  • SQL-92 plus some SQL-99 features (e.g. blobs)
  • ODBC JDBC client APIs
  • Supports some Windows APIs .NET ADO
  • 5-15x faster
  • than DBs such as Oracle, SQL-Server, DB2, MySQL
  • Supports HA
  • via replication failover, additional replicas
    as required
  • Easy administration
  • including built-in online backup

6
32 64 Bit Platforms
  • Two 32-bit platforms
  • Windows Linux on Pentium servers
  • Three 64-bit platforms
  • Solaris/Sparc, Linux Windows on Opteron/Xeon64
  • Windows shipping later this year (FY06)
  • 64-bit platforms support unlimited memory
  • On 32-bit platforms, can use up to 64GB of memory
    as a disk cache

7
Platform Requirements
  • For Windows
  • Windows2000, 2003, or XP on Pentium
  • For Linux
  • Redhat, SUSE, Debian, etc. on Pentium (32 bit) or
    Opteron/Xeon64 (64 bit)
  • Kernel 2.6 (Redhat Enterprise 4 others)
    recommended
  • For Solaris
  • Solaris 8, 9, or 10 on Sparc
  • Solaris 8 (!) gives best client performance
  • For all platforms
  • 1 CPU 2 CPUs if client co-located with
    server
  • Caching RAID controller highly recommended
  • If none available, OSDURABLE logging should be
    used

8
Is Genero db a High-Performance Niche Product?
  • NO!
  • Delivers the same performance at less cost
  • Less hardware, fewer DB licenses
  • Replaces existing RDBMSs
  • even in non-performance-critical applications
  • at much lower cost
  • Can be phased in as a helper database
  • Migrate only hotspot tables/applications

9
Stored Procedures
  • Supports three stored proc. languages
  • Oracle, SQL-Server (Microsoft Sybase),
    Informix
  • Application porting is much easier
  • These are not emulation modes
  • Native support for these languages
  • Each stored proc. is first parsed into C
    functions then compiled to machine language,
    all in-memory
  • The server is ignorant of which language is being
    executed

10
Triggers
  • Trigger a special kind of stored proc.which
    fires in response to a particular INSERT,
    UPDATE, or DELETE operation
  • Typical uses
  • log operations (or do other side effects)
  • reject operations
  • Supports Oracle, SQL-Server Informix triggers
  • Currently supports after triggers not
    before triggers
  • But these can do anything you want
  • Exception
  • an after trigger cant change inserted or
    updated data. (Rarely done, due to performance
    consequences.)

11
Genero db vs Oracle
  • Supports the same MVCC concurrency model as
    Oracle
  • Supports a large subset of PL/SQL most of
    Oracle SQL
  • Missing PL/SQL packages, PL/SQL utility
    libraries
  • Supports Oracle OCI
  • Administration
  • Genero db Oracle both admin by command-line
    SQL
  • Oracle provides admin tools (Enterprise Manager)
  • Genero db will do web-based admin in near future
  • Database Size
  • Oracle scales up to terabytes
  • Genero db currently recommended for DBs ?100GB
  • Very Large Data Base support is underway
    (Terabytes end of year)

12
Performance Comparison
SELECT
UPDATE (with contention)
INSERT
UPDATE
13
Connection Modes
  • Networked
  • Advanced connection mgmt for better performance
  • Can easily handle thousands of concurrent users
  • Shared memory inter-process communication
  • For co-located clients, faster than networking
  • Firewall between application data still
    maintained
  • Embedded server
  • Server is in-process with an application
  • Fastest possible when there are few connections
  • Still a full server others can connect normally

14
Architecture
  • Networked
  • Advanced connection management ? better
    performance
  • Handles thousands of concurrent users
  • Shared memory inter-process communication
  • For co-located clients, faster than networking
  • Firewall between application data still
    maintained
  • Embedded server
  • Genero db server is in-process with app.
  • Fastest when there are few connections
  • Still a full server others can connect normally
    hot-standby, shared-nothing slave

Concurrency Engine
Page 14
An Alternative Vision Corporate Presentation

8/3/2009
15
Architecture
  • Pending Changes Management
  • Concurrency conflict
  • If changes commutative then no lock
  • If hard coded app lock process at least at row
    level column level when possible
  • If lock needed enter into lock table
  • If pending change not executable then change
    remains in queue
  • Locks removed after commit phase
  • Session Phase
  • SQL Request Management
  • Compile SQL
  • Execute SQL
  • Create atomic database update queue

Page 15
An Alternative Vision Corporate Presentation

8/3/2009
16
Phased Execution
  • Execution switches between two phases
  • session phase
  • commit phase
  • Happens thousands of times per second
  • Real work is done in session phase
  • Commit phase is for cleanup
  • where committed changes are applied
  • Most commit phases do nothing
  • Each phase has a work list of messages

17
Threading Messages
  • Creates CPU-1 worker threads start-up
  • This is the only time OS thread primitives are
    ever used
  • Work is scheduled onto worker threads via
    messages
  • A function call (typically a compiled SQL stmt or
    compiled stored procedure), plus arguments
  • Very efficient
  • No context switching at all
  • Not even the stack

18
High Availability
  • Hot-standby, shared-nothing slave
  • Recovery is automatic just restart failed
    server
  • Automatic failover of all connections
  • Very fast, in seconds
  • All committed transactions preserved
  • Uncommitted transactions fail application
    replays them then continues as if nothing
    happened

Page 18
An Alternative Vision Corporate Presentation

8/3/2009
19
High Availability Speed Clusters
  • Speed clusters additional replicas
  • Real time synchronous with master
  • Can be geographically remote for Disaster
    Recovery
  • Can be used for reporting, BI, etc.

Page 19
An Alternative Vision Corporate Presentation

8/3/2009
20
High Availability
  • Master slave
  • Slave is hot standby
  • Coming soon readable slaves (speed clusters)
  • Replication is via log-record shipping
  • Slave should be local

21
High Availability
  • Recover from any single point of failure
  • Means that master need not wait for end-to-end
    acknowledgement from slave
  • In normal operation, with local slave, almost no
    performance loss

22
Horizontal Partitioning
Genero db
Genero db or other DB
ALM based replication
Genero db

Genero db
Transparent partitioning in upcoming release
23
ALM (Log Miner)
  • A library which accesses the transaction log
  • Committed changes only
  • Filtering of log entries by table id
  • Inspection of log entries
  • Selective replication to another Genero db
    without going through SQL
  • SQL generation for replication to non-Genero db

24
Scalability
  • Scalability is linear
  • Todays limits are locking CPU cache coherency
  • Concurrency Engine avoids both problems
  • Greatly reduced locking
  • Greatly reduced shared data, less cache coherency
    problems
  • 103 concurrent connections, 106 users
  • Wireless Services 16,000
  • 15 million SMS messages/day peak
  • Millions of users

Page 24
An Alternative Vision Corporate Presentation

8/3/2009
25
Monitoring Events
  • Queries for many items of interest
  • Server status, configuration performance
  • Application performance
  • SNMP Agent for monitoring this same information
  • Dashboard for monitoring multiple servers
  • A stored select facility allows applications to
    listen for infrequent events without polling

Page 25
An Alternative Vision Corporate Presentation

8/3/2009
26
Performance Tuning
  • Client-side Server-side tools
  • Client tool
  • Allows selective tracing performance
    characterization of queries
  • Server tool
  • Shows operation counts, timings, query plans
    even within stored procedures
  • Find most expensive queries/procedures tune
  • Add indexes as needed
  • Hints available if necessary to change query
    plans
  • All while server continues to run, with minimal
    impact

Page 26
An Alternative Vision Corporate Presentation

8/3/2009
27
BLOBS CLOBS
  • A prefix of each BLOB/CLOB is in-line
  • Any operation (even indexing) supported on
    in-line portion
  • Efficient storage using a tree structure as a
    page map

Page 27
An Alternative Vision Corporate Presentation

8/3/2009
Write a Comment
User Comments (0)
About PowerShow.com