Kexi - Data(base) Environment Universal Data Layer for KDE



Similar documents
2015, André Melancia (Andy.PT) 1

SQL Injection Vulnerabilities in Desktop Applications

Sisense. Product Highlights.

WHITE PAPER. Domo Advanced Architecture

KonyOne Server Prerequisites _ MS SQL Server

owncloud Architecture Overview

owncloud Architecture Overview

Oracle Application Express MS Access on Steroids

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam

HTSQL is a comprehensive navigational query language for relational databases.

Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN

from Microsoft Office

ICE Trade Vault. Public User & Technology Guide June 6, 2014

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Introductory Concepts

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

AWS Schema Conversion Tool. User Guide Version 1.0

Setting Up a CLucene and PostgreSQL Federation

INTRODUCTION: SQL SERVER ACCESS / LOGIN ACCOUNT INFO:

cubesql ReadMe SQLabs, All rights reserved.

DiskPulse DISK CHANGE MONITOR

edoc Document Generation Suite

A Web- based Approach to Music Library Management. Jason Young California Polytechnic State University, San Luis Obispo June 3, 2012

Installation and Control in Linux

This guide specifies the required and supported system elements for the application.

Geodatabase Programming with SQL

MySQL for Beginners Ed 3

KonyOne Server Installer - Linux Release Notes

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

DreamFactory & Modus Create Case Study

Automating System Administration with Perl

Frank Karlitschek. KDE Developer. opendesktop.org KDE-Look.org KDE-Apps.org

StoreGrid Backup Server With MySQL As Backend Database:

Introduction: Database management system

AWS Schema Conversion Tool. User Guide Version 1.0

PaperClip Audit System Installation Guide

Bacula The Network Backup Solution

FileMaker 12. ODBC and JDBC Guide

CSCI-UA: Database Design & Web Implementation. Professor Evan Sandhaus sandhaus@cs.nyu.edu evan@nytimes.com

MySQL Administration and Management Essentials

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

MONGODB - THE NOSQL DATABASE

Apple Client Management with JAMF. Andrew D Huston Client Infrastructure Group Informa8on Services Kent State University

Volkov Vyacheslav. Summary. Saransk, , Mordovia, Russian Federation Moscow, Russian Federation +7(925) , +7(917)

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

ADOBE AIR. Working with Data in AIR. David Tucker

DiskBoss. File & Disk Manager. Version 2.0. Dec Flexense Ltd. info@flexense.com. File Integrity Monitor

Integrating Mobile into Your Cross- Platform Strategy with Qt

Getting Started with Telerik Data Access. Contents

Connect to MySQL or Microsoft SQL Server using R

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

VX Search File Search Solution. VX Search FILE SEARCH SOLUTION. User Manual. Version 8.2. Jan Flexense Ltd.

Content Management Systems: Drupal Vs Jahia

Documentation of open source GIS/RS software projects

Analyzing Network Servers. Disk Space Utilization Analysis. DiskBoss - Data Management Solution

Bacula. The leading Opensource Backup Solution

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

FileMaker 11. ODBC and JDBC Guide

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

PAINLESS MULTI-DBMS STRATEGY For Magic Developers

Querying Databases Using the DB Query and JDBC Query Nodes

DESKTOP COMPUTER SKILLS

TG Web. Technical FAQ

UQC103S1 UFCE Systems Development. uqc103s/ufce PHP-mySQL 1

Questions & Answers from the Webcast: Your Mac Users Deserve Quality Support Too. Sponsors: Atempo. Centrify. Group Logic. LANrev.

FileMaker Server 13. FileMaker Server Help

Value Added Services (VAS) - Mobile Applications Business Cases

Connecting to your Database!... 3

IceWarp Server Upgrade

Bacula The Network Backup Tool for *BSD, Linux, Mac, Unix and Windows

Bacula The Network Backup Solution

Hive Interview Questions

Intended status: Standards Track October 8, 2014 Expires: April 11, 2015

DataDirect XQuery Technical Overview

FileMaker Server 10 Help

Apache Sentry. Prasad Mujumdar

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

The Network Backup Solution

SysPatrol - Server Security Monitor

How to Connect to CDL SQL Server Database via Internet

FileMaker Server 12. FileMaker Server Help

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package Data Federation Administration Tool Guide

P.I. e C.F.: When useful is nice

A Day in the Life of a Cyber Tool Developer

2.3 - Installing the moveon management module - SQL version

About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.

Samba's AD DC: Samba 4.2 and Beyond. Presented by Andrew Bartlett of Catalyst //

Database Migration from MySQL to RDM Server

Log Analyzer Reference

Application Development

New Features in XE8. Marco Cantù RAD Studio Product Manager

LICENSE4J FLOATING LICENSE SERVER USER GUIDE

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

FileMaker Server 14. FileMaker Server Help

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Rhomobile cross-platfrom

PaaS Operation Manual

Database migration using Wizard, Studio and Commander. Based on migration from Oracle to PostgreSQL (Greenplum)

FmPro Migrator - FileMaker to SQL Server

Transcription:

Kexi - Data(base) Environment

Introducing the new codename: Predicate Target: KDE 4.1 or 4.2

Problems to address Overview Introduction to Predicate Predicate and KDE, Qt Kexi and Predicate plans

Problems you can solve with Predicate Opening depends on document size even if you want to add one character Saving can take even longer

Predicate what's in the box? SQLite, MySQL and PostgreSQL support Cost of data opening and saving - independent of total size (unlike the case with big XML files)

Database connectivity...for human beings? It should take a minute to start working with new data...

Startup assistants to the rescue

Unified database connection files [Connection1] caption=tunnel to the main server encryptedpassword=************** engine=mysql port=3333 type=connection uselocalsocketfile=false user=test Admin defines server connections Users refer to them by name from any app

Database import/export assistants

Database connectivity for...human beings? Want more users? Do not expect database administration skills.

Problems you can solve with Predicate (2) Don't export, don't import. Share. (If possible) Document files come from the pre-network and pre-internet era Avoid creating multiple versions of the same document???

Database connectivity for...human beings? The solution: local database files with ability of migrating to a server Implementation: SQLite 3

Self-contained C library acting as SQL server for application it links to Features: Transactions Fast, constant access time (binary format) Command line interface Widely adopted

SQLite in KDE: Default Kexi (and thus, Predicate) database format Redland RDF's storage used by Soprano, which is used by NEPOMUK-KDE KDE PIM's Akonadi file-based storage Amarok's music collection Apps using QtSql can already use SQLite

in other software File format of Adobe Lightroom and Adobe Integrated Runtime Unified storage backend for Mozilla 2 components and extensions Included in Python, PHP and RealBasic Used by Google Desktop for the Mac Storage for AJAX apps in Google Gears

as system component in OS-es Part of Mac OS X 10.4 as embedded db engine; also used in Apple Mail and Aperture Integral part of Symbian 9.5 Service Management Facility replacing /etc/inittab in Solaris 10

Can Predicate work for my app? Many applications are internally already database-like especially those employing MVC design pattern There's no need to deal with database internals (SQL, backend specifics)

By the way: Predicate and KIO Predicate is like KIO interface but for database and data structures

Data model KDE Interface: KIO Hierarchical (tree/directed graph) Predicate Relational, possible object-relational and hierarchical extensions Basic concepts inode (file/directory) Record, column, table, relation Relation between objects one parent-many children/many-many (links) Types and properties Permissions Namespaces Generalized Family of abstracted File, directory (file types not handled at this level), file/directory attributes At file level, optionally for part of file URI scheme name, mount points, elements of path Anything supporting URI schemas: filesystem/urlbased network protocol (app. layer)/virtual filesystems record-in-table/view, relationships between records (graph) Column type (simple data types) Up to individual cell, by controlling access to tables, records and columns Data source/schema/table or view name/column name/alias SQL databases/tabular data sources (CSV, XML)

Predicate what's in the box? (2) Tools for creating data models are available at API level no need to hardcode SQL statements and implement GUI t = new TableSchema( ownership ); f = new Field( id, Integer); t->addfield(f) f->setprimarykey(true); f = new Field( owner, Integer); t->addfield(f); f = new Field( model, Integer); t->addfield(f); f = new Field( since, Integer); t->setlookupfieldschema("owner",

Predicate what's in the box? Built-in SQL parser provides probably the only Qt-based framework for employing type-safe SQL queries within applications

Predicate what's in the box? (3) Strong data typing and constraints (general feature of databases) Types and support for constraints generalized for typical usage

Predicate and QtSql API features QtSql Predicate Data Definition Language + Data Manipulation Language + SQL + + SQL Parsing + Data & Project Migration + MVC API + +

Predicate and ODBC ODBC specification is good but its implementation is simplistic (you may need to depend on 3 rd party commercial drivers) ODBC is not a solution as your appetite for generic data API increases So there's a plan for Predicate to wrap ODBC

Predicate what's in the box? (4) MS Access data import Database import from PostgreSQL and MySQL servers to a file

Predicate what's not included? Database administering and tuning tools (use dedicated for particular db backend) MySQL Administrator

Predicate how to get it? KDE SVN: trunk/koffice/kexi/kexidb/ will be moved to trunk/???/predicate/

Predicate Plans Providing Kexi plugins for other KDE apps: designer tools for tables, queries and forms, data widget, simple printouts Macros framework (in MS Access style) - a good companion for Kross

Providing Kexi plugins for other KDE apps: table, query and form designer tools data-aware widgets simple printouts CSV import/export Predicate Plans

Predicate Plans A way for dealing with native data sources and queries: deal with them as black boxes not available for direct data binding to the GUI, etc. Advantage: proprietary or not yet supported features can be used out of the box by knowledgeable users Side effects: executing native DML queries can introduce inconsistencies

Kexi 2 - Plans More SQL features (grouping, improving the parser, alter table) Full text search, bindings to the upcoming KDE search facilities Reports using KOffice text layout engine with support for ODF

Kexi 2 Plans (2) Multithreading optimization for large data sets Live data sharing ala (MS DDE) Dynamic Data Exchange, hopefully a companion to D-BUS Think about Qt-only and/or non-qt users of the facilities?

Thank you. Questions? Ideas? More info: http://www.kexi-project.org http://www.koffice.org/kexi API Docs: http://www.kexi-project.org/predicate