1

I am developing a GPS calculator that uses a lot of data to calculate different values, such as RMSE (root mean square error) and NSSDA (national standard for spatial data). The data is from a variety of different models of GPS units with a great degree in variation, i.e. internal/external antennae; auto, WAAS, DGPS, PPS signal; open, light, medium, heavy canopy; etc. Basically a whole lot of data needs to be stored to compute the huge variety of desired outcomes.

The data will always be read, and only in rare conditions will new data be added. If it does need to be added, it will most likely be by one of the developers, not users of the program. Because of this, we are very interested in using SQLite. We have Oracle on our server, but any creation of tables must be done by higher-ups, which can sometimes take weeks. For this reason SQLite seems like it might work for us. I have never used SQLite, so I am wondering if it is the right choice. However, most documentation about SQLite and Flex seems to be pertaining to AIR applications and SQLite as a local database. Would having an SQLite file on the server with a flex application performing the desired calculations even work? Or am I way off the mark on the use of SQLite files?

  • Why does the creation of tables in the Oracle DB take weeks? You should ask the higher ups to create a special schema that you can use in this db, within the schema you have the freedom to create tables. Or maybe it is time for a separate Oracle db for devs? And can't you use Oracle locator to store the spatial data? Oracle locator is the free sub set of Oracle spatial. – Theo Jul 21 '09 at 14:30
  • Normally I have to contact the db admin through email with all the creation statements for the tables, who then runs them in Oracle. I don't know if it is because I am just a student intern or what, but I have always had about a week delay just to get a reply back. And that's if there aren't any errors, which of course is not very often. This admin is new to Oracle, which makes the process annoying (not that I am claiming to know a lot). I was trying to circumvent it simply because my situation calls for only reads from the db. –  Jul 21 '09 at 15:02
  • Also, we are in the beginning stages of a huge data migration. Any applications that use Oracle are subject to a barrage of paperwork and testing to insure there security on the new servers. My line of thinking was that it would be more simple and a lot less time consuming to just not use Oracle and use one SQLite database. –  Jul 21 '09 at 15:03
  • 1
    Well stop emailing, visit him/her in real life. You have to make 'friends' with him/her. You have to learn that an Oracle database can be divided in different schemas (=users), every schema can function as a private playground. Ask him/her to create one for you. When you have your own schema you can create your own tables. Else download Oracle XE, with Oracle XE you can at least test your scripts before mailing them to him/her. – tuinstoel Jul 21 '09 at 18:27
  • 1
    Or just use Oracle XE as your database, Oracle XE will much more resemble the production databases than sqlite or mysql. – tuinstoel Jul 21 '09 at 18:32

4 Answers4

0

I don't know Flex. But I like SQLite very much.

Your application (reading data with very seldom updates -- mostly of just one instance) I would see as an ideal situation for SQLite!

SQLite is very performant and also scales up gracefully. The only application, I would not recommend it, is when you have a heavy transaction burden (many concurrent modifications of Db contents). Also when you have to have a really big data mass to handle (millions or billions of rows) I would more likely think of a grown up database with possibility to use multiple CPUs or instances ...

But all that seams to be not your case here.

Juergen
  • 12,378
  • 7
  • 39
  • 55
0

A Flex application won't be able to use a SQLite database located on the user's computer - for that, you need to use AIR. But you seem to be saying that the SQLite database would remain on the server, and be queried by the Flex client. You only seem to want to use SQLite because setting up stuff in Oracle takes too long because of internal business processes.

So, you can certainly set up a SQLite database on your server, serve the data it contains to clients, using a whole host of server-side frameworks (my favourite: Django), and read and present the data using Flex in the client's browser. SQLite is a good choice for small-to-medium-sized applications.

Vinay Sajip
  • 95,872
  • 14
  • 179
  • 191
0

Not the way you're probably thinking, no -- there's no SQLite client built into Flex proper. From a Web-based Flex app, the only way to access a relational database (even a SQLite file) is through a web-service API of some sort.

If you haven't already run across it, here's some useful StackOverflow discussion for you addressing the scalability of SQLite specifically:

How Scalable is SQLite?

Based on your description of the project, assuming you're not going to have very high volume (even if it's only selects), SQLite might be an acceptable choice.

But my personal suggestion would be that if you have any ability whatever to run even a simple a RDBMS instance somewhere (MySQL, for example), definitely go that route. You might simply be limited operationally -- every company's different in that sense. But if you can help it, don't choose a flat file as the database of your Web app. Even if you don't run into contention issues right off the bat, you'll almost surely run into them eventually. That's a headache best avoided if you can manage it.

Community
  • 1
  • 1
Christian Nunciato
  • 10,276
  • 2
  • 35
  • 45
  • Thanks for the advice. I didn't realize that SQLite was only supported in AIR applications. –  Jul 21 '09 at 14:49
0

I love sqlLITE but I have only used it with Perl.

You could use something like Amazon's SimpleDB which is a database that can be accessed as a webService. It's also free if you have less than 1GB of data and use it less than 25 hours a month.

Link to simpleDB http://aws.amazon.com/simpledb/

There is an AS3 library for simpleDB but I don't have the reputation to have more than one link :-(.. So google: "Amazon illustratedlife simpleDB"

Good Luck

eSniff
  • 5,713
  • 1
  • 27
  • 31