The Exadata X3 introduces new hardware with dramatically more and faster flash memory, more DRAM memory, faster CPUs, and more connectivity while maintaining the same price as the previous Exadata X2 platform. Key software enhancements include Exadata Smart Flash Write Caching which provides up to 20 times more write I/O performance, and Hybrid Columnar Compression which now supports write-back caching and provides storage savings of up to 15 times. The Exadata X3 provides higher performance, more storage capacity, and lower power usage compared to previous Exadata platforms.
TokuDB is an ACID/transactional storage engine that makes MySQL even better by increasing performance, adding high compression, and allowing for true schema agility. All of these features are made possible by Tokutek's Fractal Tree indexes.
Introduction to TokuDB v7.5 and Read Free ReplicationTim Callaghan
TokuDB v7.5 introduced Read Free Replication, allowing MySQL slaves to run with virtually no read IO. This presentation discusses how Fractal Tree indexes work, what they enable in TokuDB, and they allow TokuDB to uniquely offer this replication innovation.
TokuDB is an ACID/transactional storage engine that makes MySQL even better by increasing performance, adding high compression, and allowing for true schema agility. All of these features are made possible by Tokutek's Fractal Tree indexes.
Introduction to TokuDB v7.5 and Read Free ReplicationTim Callaghan
TokuDB v7.5 introduced Read Free Replication, allowing MySQL slaves to run with virtually no read IO. This presentation discusses how Fractal Tree indexes work, what they enable in TokuDB, and they allow TokuDB to uniquely offer this replication innovation.
Hardware planning & sizing for sql serverDavide Mauri
Purchasing a dedicated server to SQL Server is still a necessary operation. The cloud is a great choice but if you need to create a data warehouse of non-trivial size or if you have the need for optimal performance and control of your production database server, the choice of on-premise server is still an optimal choice. So, how not to throw away money on unnecessary hardware? In this session we will see how each component works together to form a balanced hardware (this is the key word!), without bottlenecks, maximizing the investment made. We'll talk about SAN, CPU, HBA, Fibre Channel, Memory and everything you thought you knew well...
This session covers the engineering strategies and lessons learned at IBM creating industry leading in-memory data warehousing technology for use with both cloud and on-premises software. Along with rich in-memory SQL support for OLAP, data mining, and data warehousing leveraging memory optimized parallel vector processing, we’ll showcase the in-database analytics for R, spatial, and the built-in synchronization with Cloudant JSON NoSQL. We'll take a closer look at the architectural strategy for treating RAM as the new disk (and worth avoiding access to), while dramatically constraining the potential cost pressures of in-memory technology. We’ll describe how we designed for super-simplicity with load-and-go no-tuning technology for any size system, and of course… a demo. Ridiculously easy to use and freakishly fast. Not your grandmother’s IBM database.
Tuning the Memory and Optimizer Parameters - This topic has come quite often in requests and suggestions from our regular viewers and followers of our Postgres Hangouts.
So we picked it up as the topic for this month's Postgres Hangout. This time we will try to explore and share on Memory and Memory .
Join us as we discuss what impacts your decision before you put a number against each of these important parameters!
Right-Sizing your SQL Server Virtual Machineheraflux
Virtualizing your top-tier production SQL Servers is not as easy as P2V’ing it. Sometimes allocating more resources to the VM is the wrong approach, and getting it wrong will silently hurt performance. What is the most effective method for determining the ‘right’ amount of resources to allocate? What happens if the workload changes a month from now?
The methods for understanding the performance of your mission-critical SQL Servers gathered over the past ten years of SQL Server virtualization will be addressed, and valuable processes for performance statistic collection and analysis will be displayed. Come learn how to properly ‘right-size’ the resources allocated to a VM, improve the performance of your SQL Servers, and keep it maximized well into the future.
Various HA and DR setups for Postgres Plus Advanced Server -
Active – Passive OS HA Clustering
Log Shipping Replication (Hot Standby Mode)
Hot Streaming Replication (Hot Standby Mode)
EDB Postgres Plus Failover Manager
HA with read scaling (with pg-pool)
xDB Single Master Replication (SMR)
xDB Multi Master Replication (MMR)
Use Cases
Hardware planning & sizing for sql serverDavide Mauri
Purchasing a dedicated server to SQL Server is still a necessary operation. The cloud is a great choice but if you need to create a data warehouse of non-trivial size or if you have the need for optimal performance and control of your production database server, the choice of on-premise server is still an optimal choice. So, how not to throw away money on unnecessary hardware? In this session we will see how each component works together to form a balanced hardware (this is the key word!), without bottlenecks, maximizing the investment made. We'll talk about SAN, CPU, HBA, Fibre Channel, Memory and everything you thought you knew well...
This session covers the engineering strategies and lessons learned at IBM creating industry leading in-memory data warehousing technology for use with both cloud and on-premises software. Along with rich in-memory SQL support for OLAP, data mining, and data warehousing leveraging memory optimized parallel vector processing, we’ll showcase the in-database analytics for R, spatial, and the built-in synchronization with Cloudant JSON NoSQL. We'll take a closer look at the architectural strategy for treating RAM as the new disk (and worth avoiding access to), while dramatically constraining the potential cost pressures of in-memory technology. We’ll describe how we designed for super-simplicity with load-and-go no-tuning technology for any size system, and of course… a demo. Ridiculously easy to use and freakishly fast. Not your grandmother’s IBM database.
Tuning the Memory and Optimizer Parameters - This topic has come quite often in requests and suggestions from our regular viewers and followers of our Postgres Hangouts.
So we picked it up as the topic for this month's Postgres Hangout. This time we will try to explore and share on Memory and Memory .
Join us as we discuss what impacts your decision before you put a number against each of these important parameters!
Right-Sizing your SQL Server Virtual Machineheraflux
Virtualizing your top-tier production SQL Servers is not as easy as P2V’ing it. Sometimes allocating more resources to the VM is the wrong approach, and getting it wrong will silently hurt performance. What is the most effective method for determining the ‘right’ amount of resources to allocate? What happens if the workload changes a month from now?
The methods for understanding the performance of your mission-critical SQL Servers gathered over the past ten years of SQL Server virtualization will be addressed, and valuable processes for performance statistic collection and analysis will be displayed. Come learn how to properly ‘right-size’ the resources allocated to a VM, improve the performance of your SQL Servers, and keep it maximized well into the future.
Various HA and DR setups for Postgres Plus Advanced Server -
Active – Passive OS HA Clustering
Log Shipping Replication (Hot Standby Mode)
Hot Streaming Replication (Hot Standby Mode)
EDB Postgres Plus Failover Manager
HA with read scaling (with pg-pool)
xDB Single Master Replication (SMR)
xDB Multi Master Replication (MMR)
Use Cases
Oracle Exadata is a packaged solution offering from Oracle, configured with bundled hardware, storage and database, which is touted to be optimized for handling scalable data warehouse-type workloads in query and analysis.
Multi-core processor and Multi-channel memory architectureUmair Amjad
Content of presentation:
Multi-core processors
Multi-channel memory architecture
Comparison between single and multi channel memory
Conclusion
References
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
2. Exadata X3 Hardware Overview
• Overall Exadata Architecture remains the same
- Working great, no need for change
- DB Machine names change from X2 to X3 (e.g. X3-2)
• X3 has
- Dramatically more and faster flash memory- Dramatically more and faster flash memory
- More DRAM memory
- Faster CPUs
- More connectivity
- Lower power usage
- Same price as X2
• New entry-level Eighth Rack Database Machine
3. Exadata X3-2 Database Server Update
New Intel 8-core E5 “SandyBridge” CPUs, more memory, 10GbE
Database
Server
X4170 M2 (current) Sun Server X3-2 (new) Improvement
CPU 6-core X5675
(3.06 GHz mid-bin)
8-core E5-2690
(2.9 GHz top-bin)
1.3X to 1.5X CPU
performance
Memory 96GB (up to 144GB)
8 GB DIMMs
128GB (up to 256GB)
16 GB DIMMs
1.3X normal
1.7X w/expansion
Networking 4 x 1GbE copper
2 x10GbE optical card
4 x 1 or 10 GbE copper
2 x 10GbE optical card
3X more 10GbE
PCIe Bus Gen 2.0 Gen 3.0 Future, requires
Gen 3 cards
Xeon E5 (Sandy Bridge) - higher performance with lower clock speed
Disk Controller, Disks, and InfiniBand are Unchanged
Unlike X2, no performance penalty for memory expansion
4. Exadata Storage Server Update
4X Flash Capacity
Storage
Server
X4270 M2
(current)
Sun Server X3-2L
(new)
Improvement
Flash 384 GB (4 x 96GB) 1600 GB (4 x 400GB) 4X
Disks 12 x 600GB or
12 x 3TB
No Change No change
CPU 6-core L5640
(2.26 GHz)
6-core E5-2630L
(2.0 GHz)
Similar
Performance(2.26 GHz) (2.0 GHz) Performance
Kept Storage CPU at 6-core low power processor.
Storage CPU requires much less throughput than DB CPU.
Disk Controller and InfiniBand card are unchanged.
Internal memory increased from 24GB to 64GB for managing large flash.
PCI 3.0 included in new servers but will not see benefit until cards redesigned for 3.0.
5. New F40 Flash PCI Card in Storage
4X Capacity, Better Performance, Better Serviceability
• New F40 eMLC card with 4X capacity
• eMLC is Enterprise grade Multi-level Cell
- eMLC has excellent lifetime. Flash lifetime is guaranteed by Oracle. Any failed cards
Current F20 Card New F40 Card Improvement
Capacity* 96GB 400GB 4 X
Data Scan Rates 1 GB/s >1.4 GB/s 1.4X
- eMLC has excellent lifetime. Flash lifetime is guaranteed by Oracle. Any failed cards
are replaced under Oracle Support contract
• Total read IOPS at the flash card level are much higher than quoted IOPS for DB
Machine. We measure end-to-end SQL IOPs, not low level hardware IOPs.
• Read and Write latency improved by 40% or more
• Reduces Maintenance by replacing Energy Storage Module (ESM) with much
longer lifetime conventional capacitors.
6. Seamless Upgrades and Expansion
• X2 or V2 systems can be expanded with X3
hardware
- A single Database Machine can have servers from
different generations
- Databases and Clusters can span multiple
generations of hardware
• As always we don’t replace servers or
X3-2
Half to Full
Upgrade in
2012
Upgrade Example
• As always we don’t replace servers or
components inside the servers
- Expand by adding new servers, removing obsolete
• X3 hardware requires recent Exadata software
release (>= 11.2.3.2.0) since servers require
new drivers, firmware, etc.
- X3 hardware does not require a Database, ASM,
or Clusterware upgrade
V2
Initial Quarter
Rack
purchased in
2010
X2-2
Qtr to Half
Upgrade in
2011
7. Exadata Eighth Rack
• Lower cost entry configuration
- 16 Database Cores, 54 TB Disk, 2.4 TB PCI Flash
- Highly Available configuration with all Exadata features
• Exactly the same hardware as Quarter Rack
• Half the hardware in each server is disabled using software
- Half the CPU cores in each DB server socket
- Half the CPU cores in each Storage server socket- Half the CPU cores in each Storage server socket
- Half the disks and half the flash cards in each Storage server
• DB server local disks are all enabled
- Memory is not disabled - full memory capacity is available
• Upgrade eighth rack to quarter rack by running script
- Capacity on DemandIdeal for
Smaller Systems,
Test, Dev, DR
9. Exadata Smart Flash Cache Write-Back
Up to 20X write IOPS
• Caches Write I/Os in flash in addition to Read I/Os
• Accelerates write intensive workloads
- Frequently updated tables and indexes
- 20X more write IOPS than disk on X3
- 10X more write IOPs than disk on V2 and X2
• Database writes go directly to flash cache
Writes I/Os
- Block is kept in cache until it LRUs out
- Could be months or years
- While it is cached, reads or writes will be serviced from cache
- If the block stops being accessed, block will eventually age
out of cache and will be written to disk
• Smart Caching applies
- For example RMAN Backup and Data Pump reads and writes
are not cached in flash
1M Flash Write IOPs
on X3 DB Machines
500K Flash IOPs
on X2 DB Machines
10. Smart Flash Cache Write-Back Availability
• Write-back cache is persistent across reboots
- Accelerates crash recovery
• No need to reload or recover flash cache
- Write-back speeds redo apply for Recovery and Data Guard
• Redo apply is write IO intensive
• Flash Card failure is transparently and automatically
handled by Exadata and ASM software
- Writes are mirrored across cells, so a database write I/O
Writes I/Os
- Writes are mirrored across cells, so a database write I/O
becomes a flash write to 2 or 3 storage servers
- No interruption to application on flash card failure
- Contents of cache are recovered from mirrors on other cells
• No Administration is needed
- Flash cache is transparent to Database, ASM, RMAN
- As always, RMAN Backups are at the database level
- Automatically backs up latest data on disk and on flash
11. Enabling Write-Back Cache
• Write-back flash cache is not enabled by default
- Before enabling write-back cache, ASM must be upgraded
• DB Patch for Exadata 11.2.0.3 BP 9 or later
- Enabling write-back is an informed choice
• Not required just because Exadata software update is applied
• Enable write-back cache on Exadata systems with correct ASM
version that have write I/Os as a performance bottleneck
- The best way to determine a write bottleneck is to look for “free
buffer waits” in database wait event statistics
- Can also check for high disk IO latencies and a large percentage of
writes
- Enable using: “Alter Cell flashCacheMode=WriteBack”
12. Real Workload Write Cache Example
• Peoplesoft Batch
Workload
• X3 Quarter Rack
• Flash writes often in the
60K to 80K IOPs range
• Peak at over 165K• Peak at over 165K
IOPs
• Would need more than
3 full racks without
write-back flash cache
• IO bound job became
CPU and application
bound
13. Summary
• Same Architecture as Exadata X2
• Latest Technologies and Advances
• Same Price
• Lower Cost Entry Level Eighth Rack
Faster
Bigger
4X Larger Flash Memory 22 TB of Flash Memory per Rack
All X3 Database Machines
10% to 20% Lower Power
20X More Write Performance
33% Faster Database CPUs
Full 10Gb Ethernet to Data Center
4X Larger Flash Memory
10% to 30% Lower Power
33% More Data Throughput
Exadata Smart Flash Write Caching
40X 10Gb ports per Rack
Up to 3 Kilowatt Reduction per Rack
100 GB/sec running SQL
75% More Memory
8-Core Xeon® SandyBridge E5-2690
1 TB to 2 TB per Rack
X3-2 Database Servers
16. About Hybrid Columnar Compression
Hybrid Columnar Compressed Tables
• For data that is BULK loaded and queried
• Designed for data that is NOT frequently
updated
• Designed for LOW concurrency environments
• Transaction modifying a single row in a CU
Compression Unit
• Transaction modifying a single row in a CU
locks the entire CU
• Compressed tables allow using conventional
DML (INSERT/UPDATE/DELETE)
• All index types are supported (B-Tree, Bitmap)10x to 15x
Reduction
17. Compression Units
• Compression Unit
- Logical structure spanning multiple database blocks
- Data organized by column during data load
- Each column compressed separately
- All column data for a set of rows stored in compression unit
- Column organization brings similar values close together, enhancing
compression
CU HEADER
BLOCK HEADER BLOCK HEADER BLOCK HEADER BLOCK HEADER
C3
C4
C1
C2
C7
C5
C6 C8
C8
Logical Compression Unit
Hybrid Columnar Compression extended to Pillar Axiom and Sun ZFS
Storage Appliance (ZFSSA) storage with DB 11.2.0.3
18. Exadata Hybrid Columnar Compression
Warehouse and Archive Compression
Warehouse Compression
• 10x average storage savings
• 10x reduction in Scan IO
Archive Compression
• 15x average storage savings
- Up to 70x on some data
• For cold or historical data
Optimized for SpeedOptimized for Speed Optimized for SpaceOptimized for Space
Smaller Warehouse
Faster Performance
Reclaim 93% of Disks
Keep Data Online
Can mix OLTP and hybrid columnar compression by partition for ILM
19. Warehouse Compression
• Warehouse Compression: LOW and HIGH
– HIGH typically provides a 10x reduction in storage
– LOW typically provides a 6x reduction
• Both levels optimized to increase scan query
performance by taking advantage of fewer number
of blocks readsof blocks reads
• To maximize storage savings and query
performance use default level - HIGH
– LOW should be chosen for environments where load times
are more critical than query performance
20. Archive Compression
• Archive Compression: LOW and HIGH
– HIGH typically provides a 15x reduction in storage
– LOW typically provides a 10x reduction
• Best approach for ILM and data archival
– Minimum storage footprint
– Minimal access and update requirements– Minimal access and update requirements
– No need to move data to tape or less expensive disks
– Data is always online and always accessible
• Run queries against historical data (without recovering from tape)
• Update historical data
• Supports schema evolution (add/drop columns)
21. EHCC DDL
- CTAS (create table as select)
• create table foo compress for query as select * from bar1;
- IAS (insert direct load)
• create table foo compress for archive low;
• insert /*+APPEND*/ into foo select * from bar2;
- Compression can be specified at segment level
• Each partition can have different compression type
• create table orders (cid, pid, sid, price, discount, odate)• create table orders (cid, pid, sid, price, discount, odate)
partition by range (cid)
(partition p1 values less than (100000) nocompress,
partition p2 values less than (200000) compress for archive low,
partition p3 values less than (300000) compress for query high,
partition p4 values less than (maxvalue) compress for query low)
enable row movement
as select * from prev_orders;
22. Efficient Data Storage
• EHCC is a feature of Exadata Storage
- Decompression, selection and projection performed on
storage
- Data is stored compressed on disk and compressed in the
Flash Cache, frequently accessed data cached on Flash
• Table can be forced to be on Flash by setting cell_flash_cache_keep
• EHCC is tightly integrated with Oracle DB 11gR2
- Data is stored compressed in buffer cache (DRAM)
• With EHCC, entire databases can now run in memory
- DRAM can hold 5TB of a compressed database
- Flash can hold 50TB of a compressed database
24. SQL> alter session force parallel query;
SQL> alter session force parallel ddl;
SQL> alter session force parallel dml;
----- CTAS PERFORMANCE
SQL> create table sales_nocompress parallel 4 nologging
2 as select * from sales_big;
Elapsed: 00:00:28.07
SQL> create table sales_query compress for query highSQL> create table sales_query compress for query high
2 parallel 4 nologging as select * from sales_big;
Elapsed: 00:00:05.15
SQL> create table sales_archive compress for archive high
2 parallel 4 nologging as select * from sales_big;
Elapsed: 00:00:12.40
25. --- COMPRESSION FACTOR
SQL> select table_name, compression, compress_for from user_tables
2 where table_name like 'SALES_%';
TABLE_NAME COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
SALES_ARCHIVE ENABLED ARCHIVE HIGH
SALES_QUERY ENABLED QUERY HIGH
SALES_NOCOMPRESS DISABLED
SQL> select segment_name,sum(bytes)/1024/1024 MB
2 from user_segments
3 where segment_name like 'SALES_%' and
4 segment_type='TABLE'
5 group by segment_name;
SEGMENT_NAME MB
------------------ ----------
SALES_ARCHIVE 30,4 16X
SALES_NOCOMPRESS 505
SALES_QUERY 36,9 13X
26. ----- QUERY PERFORMANCE
SQL> select count(amount_sold), sum(amount_sold) from sales_nocompress
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy')
3 and quantity_sold = 1;
...
Elapsed: 00:00:00.66
SQL> select count(amount_sold), sum(amount_sold) from sales_query
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy')
3 and quantity_sold = 1;3 and quantity_sold = 1;
...
Elapsed: 00:00:00.62
SQL> select count(amount_sold), sum(amount_sold) from sales_archive
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy')
3 and quantity_sold = 1;
...
Elapsed: 00:00:00.58
27. ---- UPDATE PERFORMANCE
SQL> update sales_nocompress set quantity_sold=quantity_sold+4
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy‘) and quantity_sold = 1;
426779 rows updated.
Elapsed: 00:00:00.82
SQL> update sales_query set quantity_sold=quantity_sold+4
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy‘) and quantity_sold = 1;
426779 rows updated.
Elapsed: 00:00:06.04
SQL> update sales_archive set quantity_sold=quantity_sold+4
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy‘) and quantity_sold = 1;
426779 rows updated.
Elapsed: 00:00:14.72
28. ---- UPDATE IMPACT ON COMPRESSION FACTOR
SQL> select segment_name,sum(bytes)/1024/1024 MB
2 from user_segments
3 where segment_name like 'SALES_%' and
4 segment_type='TABLE'
5 group by segment_name;
SEGMENT_NAME MB
------------------ ----------
SALES_QUERY 80,9 initially 30,4
SALES_NOCOMPRESS 505
SALES_ARCHIVE 72,4 initially 36,9
30. • Data Intensive processing runs in Exadata
Storage Grid
- Filter rows and columns as data streams from
disks
Exadata Intelligent Storage
Scalable Data Processing
- Example: How much product X sold last quarter
• Exadata Storage Reads 10TB from disk
• Exadata Storage Filters rows by Product & Date
• Sends 100GB of matching data to DB Servers
- Scale-out storage parallelizes execution and
removes bottlenecks
33. Exadata Intelligent Storage
• Exadata implements data intensive
processing in storage
- Row filtering based on “where” predicate
- Column filtering
- Join filtering
- Incremental backup filtering
- Scans on Hybrid Columnar Compressed data
- Scans on encrypted data- Scans on encrypted data
• 10x reduction in data sent to DB servers
is common
• No application changes needed
- Processing is automatic and transparent
- Even if cell or disk fails during a query
35. • Storage Index is a Filter (which prunes away unnecessary IOs)
• Is maintained automatically and is transparent to DB
• Collection of in-memory region indexes (RIDX)
• If cell restarts, SI is rebuilt by the next set of queries
• One region index (RIDX) for every 1MB of disk for up to 8 columns
(Exadata determines which)
• Works with uncompressed tables, OLTP compression, HCC,
Putting it all together
tablespace encryption (not column level encryption)
• Would be most effective for clustered columns
• One option is to load data in sorted order
• Works for most data-types (number, float, date, varchar2 ...)
• Works for simple predicates
• Can evaluate <, <=, =, !=, >=, >, is NULL, is NOT NULL
• column < 9 (literal)
• column > :BINDVAR
37. ---- SMART SCAN DISABLED
---- SESSION IO STATS BEFORE QUERY
SQL> select a.name, b.value/1024/1024 MB
2 from v$sysstat a, v$mystat b
3 where a.statistic# = b.statistic# and
4 (a.name in ('physical read total bytes',
5 'physical write total bytes',
6 'cell IO uncompressed bytes')
7 or a.name like 'cell phy%');
NAME MB
---------------------------------------------------------------- -------------------------------------------------------------------------- ----------
physical read total bytes ,109375
physical write total bytes 0
cell physical IO interconnect bytes ,109375
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell IO uncompressed bytes 0
38. SQL> -- Broj prodaja u 1998 za quantity_sold=1
SQL> -- ALTER SESSION SET CELL_OFFLOAD_PROCESSING = FALSE;
SQL>
SQL> select /*+ OPT_PARAM('cell_offload_processing' 'false') */ count(*)
from sales_big
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy')
3 and
4 quantity_sold = 1;
COUNT(*)
--------------------
426779
Elapsed: 00:00:04.63
39. ---- SMART SCAN DISABLED
---- SESSION IO STATS AFTER QUERY
SQL> select a.name, b.value/1024/1024 MB
2 from v$sysstat a, v$mystat b
3 where a.statistic# = b.statistic# and
4 (a.name in ('physical read total bytes',
5 'physical write total bytes',
6 'cell IO uncompressed bytes')
7 or a.name like 'cell phy%');
NAME MB
---------------------------------------------------------------- -------------------------------------------------------------------------- ----------
physical read total bytes 172,703125
physical write total bytes 0
cell physical IO interconnect bytes 172,703125
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell IO uncompressed bytes 0
40. ---- SMART SCAN ENABLED
---- SESSION IO STATS BEFORE QUERY
SQL> select a.name, b.value/1024/1024 MB
2 from v$sysstat a, v$mystat b
3 where a.statistic# = b.statistic# and
4 (a.name in ('physical read total bytes',
5 'physical write total bytes',
6 'cell IO uncompressed bytes')
7 or a.name like 'cell phy%');
NAME MB
---------------------------------------------------------------- -------------------------------------------------------------------------- ----------
physical read total bytes ,015625
physical write total bytes 0
cell physical IO interconnect bytes ,015625
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell IO uncompressed bytes 0
41. SQL> -- Broj prodaja u 1998 za quantity_sold=1
SQL> select count(*) from sales_big
2 where time_id between to_date('01/01/1998','dd/mm/yyyy') and
to_date('31/12/1999','dd/mm/yyyy')
3 and
4 quantity_sold = 1;
COUNT(*)
----------
426779
1 row selected.1 row selected.
Elapsed: 00:00:00.28 Initially 00:00:04.63
42. ---- SMART SCAN ENABLED
---- SESSION IO STATS AFTER QUERY
SQL> select a.name, b.value/1024/1024 MB
2 from v$sysstat a, v$mystat b
3 where a.statistic# = b.statistic# and
4 (a.name in ('physical read total bytes',
5 'physical write total bytes',
6 'cell IO uncompressed bytes')
7 or a.name like 'cell phy%');
NAME MB
---------------------------------------------------------------- -------------------------------------------------------------------------- ----------
physical read total bytes 172,46875
physical write total bytes 0
cell physical IO interconnect bytes 4,91526794
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 172,453125
cell physical IO bytes saved by storage index 12,328125
cell physical IO interconnect bytes returned by smart scan 4,89964294
cell IO uncompressed bytes 160,125
44. Exadata Smart Flash Cache
Breaks the Disk Random I/O Bottleneck
• Trade-off between disk and Flash
- Disk - cheap, high capacity, low IOPS
- Flash - expensive, lower capacity, tens of thousands
IOPS
• Ideal Solution - Exadata Smart Flash Cache
- Keep most data on disk for low cost
- Transparently move hot data to flash
300 IOPS
- Transparently move hot data to flash
- Use flash cards instead of flash disks to avoid disk
controller limitations
- Flash cards in Exadata storage
• 4 x 400GB PCI Express Flash Cards per Exadata
Server
10.000s IOPS
45. Exadata Smart Flash Cache
Intelligently manages flash
Understands different types of I/Os from database:
• Frequently accessed data and index blocks are cached
• Control file reads and writes are cached
• File header reads and writes are cached
• DBA can influence caching priorities
• I/Os to mirror copies are not cached
• Backup-related I/O is not cached
• Data Pump I/O is not cached
• Data file formatting is not cached
• Table scans do not monopolize the cache
46. Exadata Smart Flash Cache
• CELL_FLASH_CACHE setting for the object
- DEFAULT – managed by LRU
- KEEP - 80% of the total cache size
- NONE
• Cache hint:
- CACHE indicates that the I/O should be cached: I/O is for an index lookup.
- NOCACHE indicates that the I/O should not be cached: I/O is for a mirrored
block of data or is a log write.block of data or is a log write.
- EVICT
• Large I/Os on objects with CELL_FLASH_CACHE set to
DEFAULT are not cached.
• Smart table scans are usually directed to disk. If object has a
CELL_FLASH_CACHE KEEP, some reads may be satisfied from
Flash
47. Smart Flash Logging
High-performance, low-latency, reliable temporary store for
redo log writes:
- Log writes are directed BOTH to disk and Exadata Smart Flash
Log.
- Processing continues after fastest acknowledgement
- It is conceptually similar to multiplexed redo logs- It is conceptually similar to multiplexed redo logs
- Exadata Storage Server automatically manages Smart Flash Log
and ensures that all log entries are persisted to disk
- By default uses 32 MB on each flash-based cell disk, total of
512 MB on each Exadata Storage Server.
48. Exadata Smart Flash Log
Accelerate Transaction Response Times using Flash
Default (on left)
- Choppy response
- High Outliers
Smart Flash Log
- 3x faster response
- Much lower outliers
Transaction Response Times
Smart Flash Log Enabled
Automatic and
Transparent
Automatic and
Transparent
• Transparently uses Flash as a parallel write
cache to disk controller cache
- Whichever write completes first wins (disk or flash)
• Uses almost no flash capacity (0.1% of capacity)
• Reduces response time and outliers
- “log file parallel write” AWR histogram improves
- Greatly improves “log file sync”
49. What Smart Flash Logging is and is
not
It is solely a mechanism for providing low latency redo
log writes.
It is not a mirroring scheme because we don't keep a full
copy of the entire redo log; we only mirror the tail/end of
the redo log (this also enables us to use a relativelythe redo log (this also enables us to use a relatively
small amount of flash disk space, which allows the bulk
of the remaining flash disk space to be used for Smart
Flash Cache).
It is not a cache because we don't satisfy read requests
from flash disk; redo log reads are always done from
hard disk.
51. ---- SESSION IO STATS BEFORE WORKLOAD
SQL> select a.name, b.value from v$sysstat a, v$mystat b
2 where a.statistic# = b.statistic# and
3 (a.name like '%flash cache read hits'
4 or a.name like 'cell phy%'
5 or a.name like 'physical read tot%'
6 or a.name like 'physical read req%');
NAME VALUE
---------------------------------------------------------------- ----------
physical read total IO requests 58
physical read total multi block requests 0
physical read requests optimized 56physical read requests optimized 56
physical read total bytes optimized 917504
physical read total bytes 950272
cell physical IO interconnect bytes 950272
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell flash cache read hits 56
52. ---- SIMULATE OLTP WORKLOAD
---- FLUSH BUFFER CACHE !!!
SQL> declare
2 a number;
3 s number := 0;
4 begin
5 for n in 1 .. 14000 loop
6 select cust_credit_limit into a from customers
7 where cust_id=n*2;
8 s := s+a;
9 end loop;
10 dbms_output.put_line('Transaction total = '||s);
11 end;
12 /
Transaction total = 83939500
Elapsed: 00:00:01.17
53. ---- SESSION IO STATS AFTER WORKLOAD
SQL> select a.name, b.value from v$sysstat a, v$mystat b
2 where a.statistic# = b.statistic# and
3 (a.name like '%flash cache read hits'
4 or a.name like 'cell phy%'
5 or a.name like 'physical read tot%'
6 or a.name like 'physical read req%');
NAME VALUE
---------------------------------------------------------------- ----------
physical read total IO requests 800
physical read total multi block requests 0
physical read requests optimized 463physical read requests optimized 463
physical read total bytes optimized 7585792
physical read total bytes 13107200
cell physical IO interconnect bytes 13107200
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell flash cache read hits 463
54. ---- SESSION IO STATS BEFORE WORKLOAD
SQL> select a.name, b.value from v$sysstat a, v$mystat b
2 where a.statistic# = b.statistic# and
3 (a.name like '%flash cache read hits'
4 or a.name like 'cell phy%'
5 or a.name like 'physical read tot%'
6 or a.name like 'physical read req%');
NAME VALUE
---------------------------------------------------------------- ----------
physical read total IO requests 14
physical read total multi block requests 0
physical read requests optimized 12physical read requests optimized 12
physical read total bytes optimized 196608
physical read total bytes 229376
cell physical IO interconnect bytes 229376
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell flash cache read hits 12
55. ---- SIMULATE OLTP WORKLOAD
---- FLUSH BUFFER CACHE !!!
SQL> declare
2 a number;
3 s number := 0;
4 begin
5 for n in 1 .. 14000 loop
6 select cust_credit_limit into a from customers
7 where cust_id=n*2;
8 s := s+a;
9 end loop;
10 dbms_output.put_line('Transaction total = '||s);
11 end;
12 /
Transaction total = 83939500
Elapsed: 00:00:00.98
56. ---- SESSION IO STATS AFTER WORKLOAD
SQL> select a.name, b.value from v$sysstat a, v$mystat b
2 where a.statistic# = b.statistic# and
3 (a.name like '%flash cache read hits'
4 or a.name like 'cell phy%'
5 or a.name like 'physical read tot%'
6 or a.name like 'physical read req%');
NAME VALUE
---------------------------------------------------------------- ----------
physical read total IO requests 756
physical read total multi block requests 0
physical read requests optimized 733physical read requests optimized 733
physical read total bytes optimized 12009472
physical read total bytes 12386304
cell physical IO interconnect bytes 12386304
cell physical IO bytes sent directly to DB node to balanceCPU u 0
cell physical IO bytes saved during optimized file creation 0
cell physical IO bytes saved during optimized RMAN file restore 0
cell physical IO bytes eligible for predicate offload 0
cell physical IO bytes saved by storage index 0
cell physical IO interconnect bytes returned by smart scan 0
cell flash cache read hits 733