Choosing a database type

i am looking for recommendations into what type of database to use in a project about breaking down audiovisual content into tagged shots.

here are some functions and what is implied about the database:

  • keyframing the content into shots (hundreds of ins and outs)
  • tagging the shots (dozens of distinct tags crossed by hundreds of recurrences)
  • scrolling the data (calling up tags fast)
  • visualizing the data (calling up many tags)

some details:

  • automatic re-indexing of shots in case new keyframes arise
  • tree structure: defining groups of shots into scenes, scenes into chapters etc

what i see as vague option is xml, but i never went beyond separating txt strings.
any suggestions are welcome, even a non v4 solution for the manual part, if handy editors are out there.

thanks

does it sound feasible to implement tags in xml ?