07-25-2008 09:01 AM
I think for 90% of apps that are resident on the BB device, the applications use the Persistent Object store. If you *really* need a full SQL database, I understand that Sybase has a version for the BlackBerry (although we have not used it).
07-29-2008 10:00 AM
Are you looking to store your data remotely? There are some third party solutions that provide remote connection to a database from a BlackBerry. You can have a look in the BlackBerry Solutions Catelog for options.
07-29-2008 11:25 AM
If the amount of data exceeds the capabilities of the PersistentStore, you might want to consider using JSR 75 and writing the data to an SD card instead (or on board memory in the case of the Bold). That is, if the data is large enough to exceed PersistentStore, it's likely also large enough that storing to flash memory may not yield the best user experience, given that you will likely consume all of the user's available memory.
Note that any third party database implemented on BlackBerry will be leveraging one of the persistence mechanisms available: PersistentStore, RMS, or JSR 75.
07-29-2008 02:09 PM
As it's a direct question I hope it's OK to say that at Sybase we have just released a relational database for BlackBerry. It's called UltraLiteJ and is part of the SQL Anywhere 11 product. There is a free SQL Anywhere 11 developer edition available at http://www.sybase.com/detail?id=1055872. Product documentation is at http://dcx.sybase.com/dcx_home.php - choose version 11 and look for UltraLiteJ. Marketing material is at http://www.sybase.com/blackberry.
UltraLiteJ also includes data synchronization features (change tracking etc) so that applications can sync data with other databases.
07-29-2008 02:16 PM
Reading more carefully, I should point out that right now UltraLiteJ supports PersistentStore only on BlackBerry. SD Card support is under investigation.
Product Manager, SQL Anywhere
08-04-2008 08:29 PM
I stumbled upon a software editor that sells some database tools :
09-06-2008 01:34 PM
Since the database people are here, let me ask a related question of "what efficient methods are provided in [any]
databases for 2D or higher proximity lookup?" That is, if I have a table of locations for a GPS phone app, and want to find the closest
to a given point or those within some radius, what would a query look like and how fast is it?
And, of course, I would ask the OP what he is trying to do with local data that you can't do with hashtables or your own
simple indicies using some of the RIM collections in net.rim.device.api.collection.util ? I haven't tried these but
certainly would consider looking at them. Not sure about persistability of any of these but you could always load and
unload to something Persistable if needed. A java database port won't have any magic but may need to be
more general purpose ( ie resource hungry ) than your needs dictate. Now, if you can get a native db app that
may have benefits.