wiki:User_Database
Last modified 11 years ago Last modified on 01/10/07 13:58:30

What is a user level database?

  • A user level database contains the data available to a user on their local filesystem (or networked file system)
    • Not this does not preclude having a shared instance between users.
  • Minimal configuration.
  • Simple and abstracted (i.e. they should not know it is a database as opposed to a list of files and metadata)
  • Elegantly handle sparse data.
  • Like the iTunes Library (or iPhoto or even like a good email client)

Problems for researchers:

  • Most data is only organized as a series of folders or less organized than that
  • Most neuroscience labs either lack the expertise, or the time to set up a full lab database.
  • Most researchers know they need more, but won't invest the time until they know the benefits. This means that any real setup is a discouragement to actually setting up a full database (especially because there are competing solutions that each offer different amounts of power and niches, our group has produced 2 such databases Seedpod and Celo).
  • Quickly finding data and visualizing it is important when dealing with large sets of data.

Priorities/Goals? (in order from most to least important):

  • Zero configuration
    • install
    • populate
  • Elegantly handle sparse data *Users unlikely to take the time until they see potential *Users should get some benefit from the first untagged piece of data that is added.
  • Intuitive
    • Best user interface possible
      • Multiple views of data
        • table
        • simple list
        • tree where the tags are parent nodes
      • Quick search feature (simply type into a search box and get a list of all the names and tags that match)
      • maintain a minimal number of easy concepts
        • Data
        • Tags (like putting sticky notes on the data)
        • Maybe Abstract Data (data that is not a file, i.e. Patient information)
  • Responsive (this is different than speed)
  • Power
    • rely on brute force instead of having a more populated/complex database
    • Allow the user to chain simple queries
  • Speed
    • While important, this is last because:
      • users have powerful computers
      • we want to minimize complexity and population requirements
      • Good feedback and queries that don't need to be babysat may be sufficient.

Additional goals (in no order):

  • Fully integrate with MindSeer -- visualization is the cornerstone of making the database useful from the beginning. It also ensures that users can see their results immediately. Seems like a good way to set the standalone version apart from the competition.
  • No matter what the internal format used is, keep a synchronized external format in XML so XQuery can ask queries across user computers and any central repository. Sounds like good stuff for a grant, eh?
  • Users of X-Brain should have virtually no populating requirements