SlideShare uma empresa Scribd logo
1 de 45
Database Driven
3D Content Management
        Systems

      By Tim Child
      3DMashUp
Outline
•   Biography
•   3D Content Applications
•   3D Content Categories
•   3D Geometry
•   3D Samples
•   3D UDT’s & Functions
•   System Architecture
•   3D Queries
•   Demo
•   GPGPU Acceleration
•   Web 2.0 Integration
•   Performance Challenges
•   Further Development
•   Summary
•   Q & A Session
Biography

• Tim Child
• 35 years experience of software development
• Formerly
   –   VP Oracle Corporation
   –   VP BEA Systems Inc.
   –   VP Informix
   –   Leader at Autodesk, Navteq, Intuit, …
• 30 + years experience in 3D, CAD, GIS and DBMS
• Built >10 Spatial DBMS Applications
3D CMS Issues
•   Ad Hoc
•   File/SCM based
•   Large number for file formats
•   Files dispersed across the users network
•   Hard to Sync content between files
•   Poor Web 2.0 Integration
•   Need of Real-Time Display
3D Content Applications

• Augmented/Virtual Reality

• Medical
        10x growth in 5yr - “Baptist Hospital”
• AEC / BIM
        “Arup” predicts 70% growth in BIM data/yr
• GIS / Earth Sciences /Environmental Sciences

• CAD / CAM


• Games / 3D Video
3D Content
             Catagories
 “Vector Graphics” “Raster Graphics”
• Geometry                         • Samples
  – Mathematical Representations     – Measurements
                                          • Location X,Y,Z
  – Topological Rules                     • Time t
                                          • Channels
                                               – R,G,B
  – Many varieties of Objects                  – Intensity levels
                                     –   Discreet/Quantized
  – Many File Formats                –   Noisy
                                     –   Need Calibration
                                     –   Scales N * N * N
Representing
             3D Geometry
• Point            • Polygon

• Line
                   • Mesh

• Triangle
Representing 3D Samples
• Pixel/Voxel
     • Quantized Intensity I (x,y,z,t)



• Point Cloud


• Voxel Array
PostgreSQL
              Advanced Capabilities
•   Functions
     –   Methods executing with in the server
     –   Consider them a Delegate Methods
              •   Take the method to the data …

•   Languages
     –   PGSQL
     –   C (UDF)
     –   Java
     –   Others, …

•   Types
     –   Complex types and Arrays
     –   Used Defined Types (UDT)
     –   Examples include
              •   XML, JSON, PostGIS

•   Indices
     –   BTree                              1 Dimensional
     –   RTree                              Multi Dimensional
     –   Inverted Index                     Text searches
     –   GIST                               Roll your own

•   User Defined Aggregate (UDA)
     –   Supports Sum, Min, Max, Average, …
System Overview
    DCC
                  Plug-                                          File
   Tools                            WebDav
                   In                                          Storage
 (COLLADA)


                                                                                Existing
                                                                               CMS/SCM
 Web Browser                         HTTP
    View                            Server              DBMS
  (WebGL)                                               Server




                                                Web Pages
                                      3D                                        SQL Table
                                    MashUp                                       Storage
                                    Service
          Web / File
           Crawler
                                                            Authentication
                                       3D                      Service
                                    Analytics
                                     Service



  File                                                                        Active
                            File                            LDAP
Storage                                                                      Directory
                          Storage
System Architecture
3D UDTs & Functions




 Current 3D Schema
 • 75+ Functions
 • 15+ UDT’s
 • 20 + Tables
Recap
• Native SQL representation of 3D objects
• Supports
  – Vector Graphics
  – Raster Graphics
• 3D Content Aware
  – Vector math
  – 4 x4 Homogenous coordinate transformations
  – Polygon to Polygon Intersections
• Image processing
IMPORTANT
                      3D QUERIES

DBMS Goal:

“Provide sufficient data to rapidly render the scene with acceptable fidelity”
Camera View

          Simplify Camera
          Field of View to
               a Cone
Spatial Cone Query
Spatial Indexing




Spatial Indexing allows scalable queries from > 100M Objects
View Coherent
   Queries
Mesh Size




Stanford Bunny                              XYZ Dragon
• 70K Triangles                             • 7.2M Triangles
• 39K Vertices                              • 3.6M Vertices



    No point in using 7M triangles to render 64 x 64 pixels
Mesh Spatial
                             Processing
Each mesh subdivided into
1024 x 1024 x 1024 cells                              Each triangle centroid is
                                                      sorted on a Z Coordinate
  0 - 1023




                            Morton Z Coordinates
                            Each 10 bit coordinate
                             Is “bit interleaved”
                             (Z9,Y9,X9, … Z0,Y0,X0)
Spatially Clustered
           Mesh Storage
                                             8 KB DBMS Pages
                Queries




                                              Each page Contains
                                                   50 – 100
                  PostgreSQL                    Mesh Triangles
                    Server                    Spatially Clustered



Spatially clustered meshes optimizes DBMS access!
LOD Processing
            On loading a Mesh
            Compute and Store
              Reduced LOD
             Representations
Triangle Decimation
                Edge
              Collapsing




Cost based algorithm




       Collapsing Cost
          based on
          Area and
       Angle Between
LOD Queries

                          Document
                            Table

  Query path                                  Query path
       for                                        for
Detailed Objects                             Coarse Objects
                            Mesh
                            Table




   Triangle        LOD Determined by Query        Triangle
   Cluster           Based on Object Size         Cluster
    LOD 0             and Query Distance          LOD N
PostgreSQL
           Rules and Triggers
• Select, Update, Delete Rules
      Do ALSO Command, Command, …
          – Extends SQL operations

      Do INSTEAD Command, Command, …
          – Replaces SQL operations



• Insert, Update, Delete Trigger Events
   – Before Event Command
   Or
   – After Event Command

  SQL Views and Rules System hides implementation complexity
Recap
• Camera SQL Queries
   –   Selects only what’s visible
• View coherent queries
   – Optimizes scene data retrieval for camera motions
• 2 Level Spatial Indexing
   – RTree Supports large number of (>100M) objects
   – Z-Ordering improves finer access for large meshes
• Spatially Clustered Storage
   – Optimizes partial mesh access
• LOD processing
   – Optimizes speed versus size for large meshes
• PostgreSQL
   – UDT’s and UDF encapsulate functionality in server
   – Rules System hides implementation complexity
Demo
GPGPU
ACCELERATION
GPGPU
                   Goals
• OpenCL a PostgreSQL Procedural Language
  – OpenCL Kernels execute as SQL UDF’s
• Type Mapping, support common data types
  – Vectors, Arrays, Images
• Sorting
  – Used GPGPU based sorts in SQL queries
WEB 2.0
INTEGRATION
Web 2.0 Goals
• Provide a Rich Web 2.0 UI

• Integration with Web 2.0 Apps

• Programmability

• Tracking & Analytics
Rich UI
• HTML 5
 –2D Canvas
 –WebGL
 –Drag & Drop
 –….
• Others?
 –Silverlight for IE9
Web 2.0 Integration
•   Linking
•   Embedding
•   Social Bookmarking
•   Tagging
•   Drag & Drop
•   Annotations
•   Mash-Ups
Programmable
• REST API’s Supports
  – Browsers & other Web 2.0 Apps
• SQL Queries Supports
  – LAMP, RoR, POJ, ASP.Net, …
• XML Input / Output support
  – Document Exchange and Import / Export
• JSON Output provides
  – Easy integration with JavaScript
Tracking & Analytics
Web Browsers           Who’s looking at what?

                                  HTTP                Content
                                 Server               Queries
                  HTTP
                Request /
                Response                     Log
                                            Queries
                                Logging
                                                             DBMS
                                Service



           View Web                              Analytics
           Analytics            Analytics
                                                  Report
            Reports              Service
                                                 Queries
3D MashUp
                                  Service
                                                                      Web Site
                                     MashUp
                                                                        A
                                     Meta Data

                        URI                                 URI         HTTP
                      Look-Up                             Request     Request /
                                                                      Response
                                      Content
Browser     HTTP                        Filter              URI
          Request /                  Transform                           HTTP
                                                          Request
          Response                       Clip                          Request /
                                       Merge                           Response

                                    3D MashUp Engine                  Web Site
                      Acts as Proxy between Browser and Web Sites       B
                      Filtering, Transforming, Clipping and Merging
                                    Content Responses
CONTENT
MANAGEMENT
CMS Goals
• Track Revisions & Changes

• Compare documents

• Publish Documents

• Annotation

• Metadata Queries
Content Versioning
             All Database Rows include Version ID
        Versioning at the File, Section, and Record Levels


Rev 0     Rev 1        Rev 2         Rev 3        Rev 4




                      Rev 1.0        Rev 1.1
Contents Diff
               Objects in the database for the 3D content
                     are signed Cryptographically
Revision N                                           Revision M
                                Diff
                SHA1                          SHA1


                         Diff
             SHA1                       SHA1

                                              Diff
                            SHA1                            SHA1

                                                     Diff
                                       SHA1                       SHA1
PERFORMANCE
Performance Challenges
– Visual Scenes
   • 20K – 5M Polygons


– Near Real-Time Queries
   • Queries 15m – 30ms end user response

– How much can I retrieve in 16.7 ms?
   • DB Size < RAM
   • DB Size >= Ram Size && <= 1 T B
   • DB Size > 1 T B
Further Development
                    Areas
• Performance Investigations
  – What are the important queries?
  – Where are the bottlenecks?
• Picking Operations
  – Using a Cylinder to pick from a view
• Editing Operations
  – Updating Geometry
• OpenCl as Procedural Language
  – Allows “cleaner” OpenCl integration
Summary
• Why a 3D in a Database?
   –   Shared
   –   Multi-user
   –   Scalable
   –   Reliable
   –   Extensible
   –   Secure and well define Security Model
   –   Rich Tools Set
• Why choose PostgreSQL for 3D
   –   Advanced capabilities
   –   Open and Opensource
   –   Versatile
   –   Simple to use
   –   Robust Developer Community
   –   Leverages existing skill sets
Q&A

Mais conteúdo relacionado

Destaque

Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Jonathan Katz
 
Niflar3 d finalsymposium
Niflar3 d finalsymposiumNiflar3 d finalsymposium
Niflar3 d finalsymposiumTon Koenraad
 
Presentation Iberomoldes Group Automotive
Presentation Iberomoldes Group AutomotivePresentation Iberomoldes Group Automotive
Presentation Iberomoldes Group Automotiverodolfomouta
 
Yesica Guacaneme 99
Yesica Guacaneme 99Yesica Guacaneme 99
Yesica Guacaneme 99yesicavivis
 
Data Marketing Fmcg 26 Oct 09
Data Marketing Fmcg 26 Oct 09Data Marketing Fmcg 26 Oct 09
Data Marketing Fmcg 26 Oct 093d interactive
 
Analyze database system using a 3 d method
Analyze database system using a 3 d methodAnalyze database system using a 3 d method
Analyze database system using a 3 d methodAjith Narayanan
 
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...Simone Brogi
 
Minecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletMinecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletRichard Donkin
 
Application of 3D printing in analytical chemistry (by Fariborz Amoozgar)
Application  of 3D printing in analytical chemistry (by Fariborz Amoozgar)Application  of 3D printing in analytical chemistry (by Fariborz Amoozgar)
Application of 3D printing in analytical chemistry (by Fariborz Amoozgar)Iranian Spase Research Center (ISRC)
 
Tns VN mobi life and digital life 2012
Tns VN mobi life and digital life 2012Tns VN mobi life and digital life 2012
Tns VN mobi life and digital life 2012Tuan Le
 
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio...
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio..."3D from 2D: Theory, Implementation, and Applications of Structure from Motio...
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio...Edge AI and Vision Alliance
 
3d puzzle sixteen pieces powerpoint presentation templates
3d puzzle sixteen pieces powerpoint presentation templates3d puzzle sixteen pieces powerpoint presentation templates
3d puzzle sixteen pieces powerpoint presentation templatesSlideTeam.net
 
3D IC Presented by Tripti Kumari, School of Engineering, CUSAT
3D IC Presented by Tripti Kumari, School of Engineering, CUSAT3D IC Presented by Tripti Kumari, School of Engineering, CUSAT
3D IC Presented by Tripti Kumari, School of Engineering, CUSATthevijayps
 

Destaque (18)

Pgopencl
PgopenclPgopencl
Pgopencl
 
Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)Accelerating Local Search with PostgreSQL (KNN-Search)
Accelerating Local Search with PostgreSQL (KNN-Search)
 
YouCube
YouCubeYouCube
YouCube
 
3D Blocks Organizational Charts
3D Blocks Organizational Charts3D Blocks Organizational Charts
3D Blocks Organizational Charts
 
Niflar3 d finalsymposium
Niflar3 d finalsymposiumNiflar3 d finalsymposium
Niflar3 d finalsymposium
 
Presentation Iberomoldes Group Automotive
Presentation Iberomoldes Group AutomotivePresentation Iberomoldes Group Automotive
Presentation Iberomoldes Group Automotive
 
iTest
iTestiTest
iTest
 
Yesica Guacaneme 99
Yesica Guacaneme 99Yesica Guacaneme 99
Yesica Guacaneme 99
 
Sysinfo3D
Sysinfo3DSysinfo3D
Sysinfo3D
 
Data Marketing Fmcg 26 Oct 09
Data Marketing Fmcg 26 Oct 09Data Marketing Fmcg 26 Oct 09
Data Marketing Fmcg 26 Oct 09
 
Analyze database system using a 3 d method
Analyze database system using a 3 d methodAnalyze database system using a 3 d method
Analyze database system using a 3 d method
 
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...
PROGRAM PHASE IN LIGAND-BASED PHARMACOPHORE MODEL GENERATION AND 3D DATABASE ...
 
Minecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with PygletMinecraft in 500 lines of Python with Pyglet
Minecraft in 500 lines of Python with Pyglet
 
Application of 3D printing in analytical chemistry (by Fariborz Amoozgar)
Application  of 3D printing in analytical chemistry (by Fariborz Amoozgar)Application  of 3D printing in analytical chemistry (by Fariborz Amoozgar)
Application of 3D printing in analytical chemistry (by Fariborz Amoozgar)
 
Tns VN mobi life and digital life 2012
Tns VN mobi life and digital life 2012Tns VN mobi life and digital life 2012
Tns VN mobi life and digital life 2012
 
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio...
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio..."3D from 2D: Theory, Implementation, and Applications of Structure from Motio...
"3D from 2D: Theory, Implementation, and Applications of Structure from Motio...
 
3d puzzle sixteen pieces powerpoint presentation templates
3d puzzle sixteen pieces powerpoint presentation templates3d puzzle sixteen pieces powerpoint presentation templates
3d puzzle sixteen pieces powerpoint presentation templates
 
3D IC Presented by Tripti Kumari, School of Engineering, CUSAT
3D IC Presented by Tripti Kumari, School of Engineering, CUSAT3D IC Presented by Tripti Kumari, School of Engineering, CUSAT
3D IC Presented by Tripti Kumari, School of Engineering, CUSAT
 

Semelhante a Using postgre sql for 3d cms

Data managing and Exchange GDB
Data managing and Exchange GDB Data managing and Exchange GDB
Data managing and Exchange GDB Esri
 
Evolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEvolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEsri South Africa
 
In memory grids IMDG
In memory grids IMDGIn memory grids IMDG
In memory grids IMDGPrateek Jain
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud ComputingAmazon Web Services
 
Building Mosaics
Building MosaicsBuilding Mosaics
Building MosaicsEsri
 
Managing Big Data (Chapter 2, SC 11 Tutorial)
Managing Big Data (Chapter 2, SC 11 Tutorial)Managing Big Data (Chapter 2, SC 11 Tutorial)
Managing Big Data (Chapter 2, SC 11 Tutorial)Robert Grossman
 
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology Enthusiasts
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology EnthusiastsNebula Graph nMeetup in Shanghai - Meet with Graph Technology Enthusiasts
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology EnthusiastsNebula Graph
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesshnkr_rmchndrn
 
dashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systemsdashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systemsIBM Cloud Data Services
 
Engineering practices in big data storage and processing
Engineering practices in big data storage and processingEngineering practices in big data storage and processing
Engineering practices in big data storage and processingSchubert Zhang
 
Total Knockout: Start-to-Finish Development of Suitability Applications Using...
Total Knockout: Start-to-Finish Development of Suitability Applications Using...Total Knockout: Start-to-Finish Development of Suitability Applications Using...
Total Knockout: Start-to-Finish Development of Suitability Applications Using...Blue Raster
 
SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 OverviewDavid Chou
 
Millions quotes per second in pure java
Millions quotes per second in pure javaMillions quotes per second in pure java
Millions quotes per second in pure javaRoman Elizarov
 
Windows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerWindows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerMustafa
 
Windows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerWindows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerMSHOWTO Bilisim Toplulugu
 
Freedom of Movement for redisconf19
Freedom of Movement for redisconf19Freedom of Movement for redisconf19
Freedom of Movement for redisconf19Richard Leddy
 
brock_delong_all_your_database_final.pptx
brock_delong_all_your_database_final.pptxbrock_delong_all_your_database_final.pptx
brock_delong_all_your_database_final.pptxAWS Chicago
 

Semelhante a Using postgre sql for 3d cms (20)

Big data and cloud
Big data and cloudBig data and cloud
Big data and cloud
 
Data managing and Exchange GDB
Data managing and Exchange GDB Data managing and Exchange GDB
Data managing and Exchange GDB
 
Evolution of Esri Data Formats Seminar
Evolution of Esri Data Formats SeminarEvolution of Esri Data Formats Seminar
Evolution of Esri Data Formats Seminar
 
In memory grids IMDG
In memory grids IMDGIn memory grids IMDG
In memory grids IMDG
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud Computing
 
Building Mosaics
Building MosaicsBuilding Mosaics
Building Mosaics
 
Managing Big Data (Chapter 2, SC 11 Tutorial)
Managing Big Data (Chapter 2, SC 11 Tutorial)Managing Big Data (Chapter 2, SC 11 Tutorial)
Managing Big Data (Chapter 2, SC 11 Tutorial)
 
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology Enthusiasts
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology EnthusiastsNebula Graph nMeetup in Shanghai - Meet with Graph Technology Enthusiasts
Nebula Graph nMeetup in Shanghai - Meet with Graph Technology Enthusiasts
 
Introduction to AWS tools
Introduction to AWS toolsIntroduction to AWS tools
Introduction to AWS tools
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
dashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systemsdashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systems
 
Engineering practices in big data storage and processing
Engineering practices in big data storage and processingEngineering practices in big data storage and processing
Engineering practices in big data storage and processing
 
Total Knockout: Start-to-Finish Development of Suitability Applications Using...
Total Knockout: Start-to-Finish Development of Suitability Applications Using...Total Knockout: Start-to-Finish Development of Suitability Applications Using...
Total Knockout: Start-to-Finish Development of Suitability Applications Using...
 
SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 Overview
 
Millions quotes per second in pure java
Millions quotes per second in pure javaMillions quotes per second in pure java
Millions quotes per second in pure java
 
Windows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerWindows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen Hizmetler
 
Windows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerWindows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek Hizmetler
 
Bertenthal
BertenthalBertenthal
Bertenthal
 
Freedom of Movement for redisconf19
Freedom of Movement for redisconf19Freedom of Movement for redisconf19
Freedom of Movement for redisconf19
 
brock_delong_all_your_database_final.pptx
brock_delong_all_your_database_final.pptxbrock_delong_all_your_database_final.pptx
brock_delong_all_your_database_final.pptx
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

Using postgre sql for 3d cms

  • 1. Database Driven 3D Content Management Systems By Tim Child 3DMashUp
  • 2. Outline • Biography • 3D Content Applications • 3D Content Categories • 3D Geometry • 3D Samples • 3D UDT’s & Functions • System Architecture • 3D Queries • Demo • GPGPU Acceleration • Web 2.0 Integration • Performance Challenges • Further Development • Summary • Q & A Session
  • 3. Biography • Tim Child • 35 years experience of software development • Formerly – VP Oracle Corporation – VP BEA Systems Inc. – VP Informix – Leader at Autodesk, Navteq, Intuit, … • 30 + years experience in 3D, CAD, GIS and DBMS • Built >10 Spatial DBMS Applications
  • 4. 3D CMS Issues • Ad Hoc • File/SCM based • Large number for file formats • Files dispersed across the users network • Hard to Sync content between files • Poor Web 2.0 Integration • Need of Real-Time Display
  • 5. 3D Content Applications • Augmented/Virtual Reality • Medical 10x growth in 5yr - “Baptist Hospital” • AEC / BIM “Arup” predicts 70% growth in BIM data/yr • GIS / Earth Sciences /Environmental Sciences • CAD / CAM • Games / 3D Video
  • 6. 3D Content Catagories “Vector Graphics” “Raster Graphics” • Geometry • Samples – Mathematical Representations – Measurements • Location X,Y,Z – Topological Rules • Time t • Channels – R,G,B – Many varieties of Objects – Intensity levels – Discreet/Quantized – Many File Formats – Noisy – Need Calibration – Scales N * N * N
  • 7. Representing 3D Geometry • Point • Polygon • Line • Mesh • Triangle
  • 8. Representing 3D Samples • Pixel/Voxel • Quantized Intensity I (x,y,z,t) • Point Cloud • Voxel Array
  • 9. PostgreSQL Advanced Capabilities • Functions – Methods executing with in the server – Consider them a Delegate Methods • Take the method to the data … • Languages – PGSQL – C (UDF) – Java – Others, … • Types – Complex types and Arrays – Used Defined Types (UDT) – Examples include • XML, JSON, PostGIS • Indices – BTree 1 Dimensional – RTree Multi Dimensional – Inverted Index Text searches – GIST Roll your own • User Defined Aggregate (UDA) – Supports Sum, Min, Max, Average, …
  • 10. System Overview DCC Plug- File Tools WebDav In Storage (COLLADA) Existing CMS/SCM Web Browser HTTP View Server DBMS (WebGL) Server Web Pages 3D SQL Table MashUp Storage Service Web / File Crawler Authentication 3D Service Analytics Service File Active File LDAP Storage Directory Storage
  • 12. 3D UDTs & Functions Current 3D Schema • 75+ Functions • 15+ UDT’s • 20 + Tables
  • 13. Recap • Native SQL representation of 3D objects • Supports – Vector Graphics – Raster Graphics • 3D Content Aware – Vector math – 4 x4 Homogenous coordinate transformations – Polygon to Polygon Intersections • Image processing
  • 14. IMPORTANT 3D QUERIES DBMS Goal: “Provide sufficient data to rapidly render the scene with acceptable fidelity”
  • 15. Camera View Simplify Camera Field of View to a Cone
  • 17. Spatial Indexing Spatial Indexing allows scalable queries from > 100M Objects
  • 18. View Coherent Queries
  • 19. Mesh Size Stanford Bunny XYZ Dragon • 70K Triangles • 7.2M Triangles • 39K Vertices • 3.6M Vertices No point in using 7M triangles to render 64 x 64 pixels
  • 20. Mesh Spatial Processing Each mesh subdivided into 1024 x 1024 x 1024 cells Each triangle centroid is sorted on a Z Coordinate 0 - 1023 Morton Z Coordinates Each 10 bit coordinate Is “bit interleaved” (Z9,Y9,X9, … Z0,Y0,X0)
  • 21. Spatially Clustered Mesh Storage 8 KB DBMS Pages Queries Each page Contains 50 – 100 PostgreSQL Mesh Triangles Server Spatially Clustered Spatially clustered meshes optimizes DBMS access!
  • 22. LOD Processing On loading a Mesh Compute and Store Reduced LOD Representations
  • 23. Triangle Decimation Edge Collapsing Cost based algorithm Collapsing Cost based on Area and Angle Between
  • 24. LOD Queries Document Table Query path Query path for for Detailed Objects Coarse Objects Mesh Table Triangle LOD Determined by Query Triangle Cluster Based on Object Size Cluster LOD 0 and Query Distance LOD N
  • 25. PostgreSQL Rules and Triggers • Select, Update, Delete Rules Do ALSO Command, Command, … – Extends SQL operations Do INSTEAD Command, Command, … – Replaces SQL operations • Insert, Update, Delete Trigger Events – Before Event Command Or – After Event Command SQL Views and Rules System hides implementation complexity
  • 26. Recap • Camera SQL Queries – Selects only what’s visible • View coherent queries – Optimizes scene data retrieval for camera motions • 2 Level Spatial Indexing – RTree Supports large number of (>100M) objects – Z-Ordering improves finer access for large meshes • Spatially Clustered Storage – Optimizes partial mesh access • LOD processing – Optimizes speed versus size for large meshes • PostgreSQL – UDT’s and UDF encapsulate functionality in server – Rules System hides implementation complexity
  • 27. Demo
  • 29. GPGPU Goals • OpenCL a PostgreSQL Procedural Language – OpenCL Kernels execute as SQL UDF’s • Type Mapping, support common data types – Vectors, Arrays, Images • Sorting – Used GPGPU based sorts in SQL queries
  • 31. Web 2.0 Goals • Provide a Rich Web 2.0 UI • Integration with Web 2.0 Apps • Programmability • Tracking & Analytics
  • 32. Rich UI • HTML 5 –2D Canvas –WebGL –Drag & Drop –…. • Others? –Silverlight for IE9
  • 33. Web 2.0 Integration • Linking • Embedding • Social Bookmarking • Tagging • Drag & Drop • Annotations • Mash-Ups
  • 34. Programmable • REST API’s Supports – Browsers & other Web 2.0 Apps • SQL Queries Supports – LAMP, RoR, POJ, ASP.Net, … • XML Input / Output support – Document Exchange and Import / Export • JSON Output provides – Easy integration with JavaScript
  • 35. Tracking & Analytics Web Browsers Who’s looking at what? HTTP Content Server Queries HTTP Request / Response Log Queries Logging DBMS Service View Web Analytics Analytics Analytics Report Reports Service Queries
  • 36. 3D MashUp Service Web Site MashUp A Meta Data URI URI HTTP Look-Up Request Request / Response Content Browser HTTP Filter URI Request / Transform HTTP Request Response Clip Request / Merge Response 3D MashUp Engine Web Site Acts as Proxy between Browser and Web Sites B Filtering, Transforming, Clipping and Merging Content Responses
  • 38. CMS Goals • Track Revisions & Changes • Compare documents • Publish Documents • Annotation • Metadata Queries
  • 39. Content Versioning All Database Rows include Version ID Versioning at the File, Section, and Record Levels Rev 0 Rev 1 Rev 2 Rev 3 Rev 4 Rev 1.0 Rev 1.1
  • 40. Contents Diff Objects in the database for the 3D content are signed Cryptographically Revision N Revision M Diff SHA1 SHA1 Diff SHA1 SHA1 Diff SHA1 SHA1 Diff SHA1 SHA1
  • 42. Performance Challenges – Visual Scenes • 20K – 5M Polygons – Near Real-Time Queries • Queries 15m – 30ms end user response – How much can I retrieve in 16.7 ms? • DB Size < RAM • DB Size >= Ram Size && <= 1 T B • DB Size > 1 T B
  • 43. Further Development Areas • Performance Investigations – What are the important queries? – Where are the bottlenecks? • Picking Operations – Using a Cylinder to pick from a view • Editing Operations – Updating Geometry • OpenCl as Procedural Language – Allows “cleaner” OpenCl integration
  • 44. Summary • Why a 3D in a Database? – Shared – Multi-user – Scalable – Reliable – Extensible – Secure and well define Security Model – Rich Tools Set • Why choose PostgreSQL for 3D – Advanced capabilities – Open and Opensource – Versatile – Simple to use – Robust Developer Community – Leverages existing skill sets
  • 45. Q&A