Mobile database
Encyclopedia
A mobile database is a database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 that can be connected to by a mobile computing
Mobile computing
Mobile computing is a form of human–computer interaction by which a computer is expected to be transported during normal usage. Mobile computing has three aspects: mobile communication, mobile hardware, and mobile software...

 device over a mobile network. The client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....

 and server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

 have wireless connections
Wireless network
Wireless network refers to any type of computer network that is not connected by cables of any kind. It is a method by which homes, telecommunications networks and enterprise installations avoid the costly process of introducing cables into a building, or as a connection between various equipment...

. A cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

 is maintained to hold frequent data and transactions so that they are not lost due to connection failure. A database is a structured way to organize information. This could be a list of contacts, price information or distance travelled.

The use of laptop
Laptop
A laptop, also called a notebook, is a personal computer for mobile use. A laptop integrates most of the typical components of a desktop computer, including a display, a keyboard, a pointing device and speakers into a single unit...

s, mobiles
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

 and PDAs
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

 is increasing and likely to increase in the future with more and more applications residing in the mobile systems. While those same analysts can’t tell us exactly which applications will be the most popular, it is clear that a large percentage will require the use of a database of some sort. Many applications such as databases would require the ability to download information from an information repository
Information repository
An information repository is an easy way to deploy a secondary tier of data storage that can comprise multiple, networked data storage technologies running on diverse operating systems, where data that no longer needs to be in primary storage is protected, classified according to captured metadata,...

 and operate on this information even when out of range or disconnected.

An example of this is a mobile workforce. In this scenario user would require to access and update information from files in the home directories
Home directory
A Home directory is a file system directory on a multi-user operating system containing files for a given user of the system. The specifics of the home directory is defined by the operating system involved; for example, Windows systems between 2000 and 2003 keep home directories in a folder...

 on a server or customer records from a database. This type of access and work load generated by such users is different from the traditional workloads seen in client–server systems of today.
With the advent of mobile databases, now users can load up their smart phones
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...

 or PDAs with mobile databases to exchange mission-critical data remotely without worrying about time or distance. Mobile databases let employees enter data on the fly. Information can be synchronized
File synchronization
File synchronization in computing is the process of ensuring that computer files in two or more locations are updated via certain rules....

 with a server database at a later time.

Need for mobile databases

  • Mobile users must be able to work without a wireless connection due to poor or even non-existent connections.
  • Applications
    Application software
    Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

     must provide significant interactivity
    Interactivity
    In the fields of information science, communication, and industrial design, there is debate over the meaning of interactivity. In the "contingency view" of interactivity, there are three levels:...

    .
  • Applications must be able to access local device/vehicle hardware
    Hardware
    Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

    , such as printers
    Computer printer
    In computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...

    , bar code scanners, or GPS units (for mapping or Automatic Vehicle Location
    Automatic vehicle location
    Automatic vehicle location is a means for automatically determining the geographic location of a vehicle and transmitting the information to a requester....

     systems).
  • Bandwidth
    Bandwidth (computing)
    In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

     must be conserved (a common requirement on wireless network
    Wireless network
    Wireless network refers to any type of computer network that is not connected by cables of any kind. It is a method by which homes, telecommunications networks and enterprise installations avoid the costly process of introducing cables into a building, or as a connection between various equipment...

    s that charge per megabyte
    Megabyte
    The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

     or data transferred).
  • Users don't require access to truly live data, only recently modified data.
  • Limited life of power supply(battery)
  • The changing topology of network


If your application meets any of those requirements, the chances are good that you will be required to build a mobile database application with synchroniza

Mobile database system architecture

For any mobile architecture, things to be considered are:
  • Users are not attached to a fixed geographical location
  • Mobile computing devices: low-power, low-cost, portable
  • Wireless networks
  • Mobile computing constraints

Three parties

Mobile databases typically involve three parties: fixed hosts, mobile units, and base stations. Fixed hosts perform the transaction and data management functions with the help of database server
Database server
A database server is a computer program that provides database services to other computer programs or computers, as defined by the client–server model. The term may also refer to a computer dedicated to running such a program...

s. Mobile units are portable computers that move around a geographical region that includes the cellular network
Cellular network
A cellular network is a radio network distributed over land areas called cells, each served by at least one fixed-location transceiver known as a cell site or base station. When joined together these cells provide radio coverage over a wide geographic area...

 (or "cells") that these units use to communicate to base stations. (Note that these networks need not be cellular telephone networks.) Base stations are two-way radio
Two-way radio
A two-way radio is a radio that can both transmit and receive , unlike a broadcast receiver which only receives content. The term refers to a personal radio transceiver that allows the operator to have a two-way conversation with other similar radios operating on the same radio frequency...

s, installations in fixed locations, that pass communications with the mobile units to and from the fixed hosts. They are typically low-power devices such as mobile phones, portable phones, or wireless routers.
When a mobile unit leaves a cell serviced by a particular base station, that station transparently transfers the responsibility for the mobile unit's transaction and data support to whichever base station covers the mobile unit's new location.

Products

Sybase Inc.’s SQL Anywhere
SQL Anywhere
SQL Anywhere is a relational database management system product from the company Sybase iAnywhere, a subsidiary of Sybase.- Features :...

 dominates the mobile-database field, with about 68 percent of the mobile database market. IBM’s DB2 Everyplace is a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

 and enterprise synchronization server that extends enterprise applications to mobile devices. Microsoft SQL Server Compact
SQL Server Compact
Microsoft SQL Server Compact is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition...

 and Oracle9i Lite are similar mobile databases. Products from lesser-known vendors, such as SQLBase from Gupta Technologies LLC of Redwood Shores, Calif., HanDBase from DDH Software Inc. of Lake Worth, Fla.and Cellica Database from Cellica Corporation NY, might serve your needs equally well. On Apple's iOS
IOS
iOS is an operating system for iPad, iPhone, iPod Touch, and Apple TV.IOS may also refer to:-Companies and organisations:* Illinois Ornithological Society, American state-based bird club...

, the DataGlass Mobile Database Client line of products by impathic
Impathic
impathic is a privately held technology company based in Portland, Oregon. The company offers products related to enterprise database app for the Apple iPhone and iPad.- Products :...

 offers file-based access to Microsoft Access
Microsoft Access
Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of...

 databases and client-server access to Sybase
Sybase
Sybase, an SAP company, is an enterprise software and services company offering software to manage, analyze, and mobilize information, using relational databases, analytics and data warehousing solutions and mobile applications development platforms....

, Microsoft SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

, IBM DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, Oracle
Oracle
In Classical Antiquity, an oracle was a person or agency considered to be a source of wise counsel or prophetic predictions or precognition of the future, inspired by the gods. As such it is a form of divination....

, and PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

.

Sybase's SQL Anywhere

SQL Anywhere
SQL Anywhere
SQL Anywhere is a relational database management system product from the company Sybase iAnywhere, a subsidiary of Sybase.- Features :...

 offers enterprise-caliber databases that scale from 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

 servers with thousands of users down to small handheld devices. SQL Anywhere’s data exchange technologies extend information in corporate applications and enterprise systems to databases running in mission-critical frontline environments. Design and management tools within SQL Anywhere enable developers to implement and deploy frontline applications and equip administrators to easily manage and support them.

SQL Anywhere Technologies

SQL Anywhere Server is a high performing and embeddable relational database-management system (RDBMS
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

) that scales from thousands of users in server environments down to desktop and mobile applications used in widely deployed, zero-administration environments.

Ultralite: UltraLite is a database-management system designed for small-footprint mobile devices such as PDAs and smart phones.

Mobilink: MobiLink is a highly-scalable, session-based synchronization technology for exchanging data among relational databases and other non-relational data sources.

QAnywhere: QAnywhere facilitates the development of robust and secure store-and-forward mobile messaging applications.

SQL Remote: SQL Remote technology is based on a store and forward architecture that allows occasionally connected users to synchronize data between SQL Anywhere databases using a file or message transfer mechanism.

IBM DB2 Everyplace (DB2e)

DB2e stores, retrieves, organizes and manages data on a handheld device. The data on the handheld device is synchronized to a server-based relational database management system (RDMS). DB2e is currently available for Palm OS
Palm OS
Palm OS is a mobile operating system initially developed by Palm, Inc., for personal digital assistants in 1996. Palm OS is designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management...

, EPOC, Neutrino, Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 and embedded Linux
Embedded Linux
Embedded Linux is the use of Linux in embedded computer systems such as mobile phones, personal digital assistants, media players, set-top boxes, and other consumer electronics devices, networking equipment, machine control, industrial automation, navigation equipment and medical instruments...


DB2e on the handheld device includes:
  • IBM DB2
    IBM DB2
    The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...

     Database Engine
  • IBM Sync
  • Query By Example (QBE)


DB2e includes a component called Synchronization Server, which:
  • Allows synchronization between DB2e and server database
  • Mobile Device Administration Center (MDAC)
  • Table encryption for version 8.1.1
  • Java ME Sync Client for cell phones and pagers

Microsoft SQL Server Compact (formerly SQL Server 2005 Mobile Edition)

Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 SQL Server Compact
SQL Server Compact
Microsoft SQL Server Compact is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition...

 (SSC) is a small footprint embedded database designed for developers who target Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 mobile-based devices or desktops. It provides synchronization with Microsoft SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

, programming APIs, integrated development experience through Visual Studio
Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...

 and a Management Studio
SQL Server
SQL Server may refer to:* Any database server that implements the Structured Query Language* Microsoft SQL Server, a relational database server from Microsoft* Sybase SQL Server, a relational database server developed by Sybase...

.

Oracle9i Lite

This is a complete solution for mobile or wireless applications that require the use of a relational database on the mobile client. It includes support for Win32, Windows CE, PalmOS, and EPOC database clients, integration with Oracle's Advanced Queuing (AQ) mechanism, and data and application synchronization software (to enterprise Oracle databases.
The Oracle9i Lite relational database is surprisingly powerful. The database supports 100% Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 development (through JDBC driver
JDBC driver
A JDBC driver is a software component enabling a Java application to interact with a database. JDBC drivers are analogous to ODBC drivers, ADO.NET data providers, and OLE DB providers....

s and the database's native support for embedded SQLJ and Java stored procedure
Java stored procedure
A Java stored procedure is a procedure that is written in Java instead of 3GL languages like PL/SQL and stored in the Oracle database. They are executed by the JVM. For this, the database memory space is used. It is sometimes wrongly abbreviated as JSP....

s) as well as programming from any development tool that supports ODBC (Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...

, C++, Delphi, and so on).

Others

Borland's JDataStore

Borland
Borland
Borland Software Corporation is a software company first headquartered in Scotts Valley, California, Cupertino, California and finally Austin, Texas. It is now a Micro Focus subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.-The 1980s:...

 JDataStore 6 is a fast, versatile Java database for truly portable embedded, mobile, and Web server applications. Compliant with Java and SQL92 standards, the JDataStore database features a very small footprint, requires practically zero maintenance, and delivers the performance, scalability, and synchronization capabilities of a full-power database.

MobiSnap

MobiSnap, a research project that aims to support the development of SQL based applications for mobile environments, providing conquerable support for data divergence control and connectivity abstractions. MobiSnap aims at developing a middle-ware infrastructure that allows access to relational database systems from mobile computers with a clear semantics in all operational scenarios (from high to unavailable connectivity). This platform will isolate programmers from the problems related to mobility and disconnection, allowing them to easily develop new applications for mobile environments, focusing only on application specific problems. MobiSnap will be based on SQL, thereby also providing close integration to legacy information systems.

Uses

Mobile databases are highly concentrated in the retail and logistic industry. It is increasingly being used in aviation and transportation industry.

External links

  • SQL Anywhere Official Site
  • http://www.softpedia.com
  • http://www.informit.com/articles/article.aspx?p=26223&seqNum=3
  • http://www.informit.com/articles/article.aspx?p=25328
  • http://www.dooyoo.co.uk/programming-languages/jdatastore-developer-edition
  • http://www.asc.di.fct.unl.pt/dagora/docs/papers/epcm99-np.pdf
  • http://www.mcobject.com/mobile_database
  • http://www.effiproz.com/product_cf.aspx
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK