30.000 record non sono poi così tanti. Ciò che tenderei a scartare è di utilizzare un sistema basato su file che, per quanto comodo e spesso efficiente come nel caso di file XML, potrebbe avere tempi di latenza un pò troppo lunghi e probabilità di corruzione dei file comunque più elevata.
D'altro canto, qualsiasi database "moderno" è in grado di gestire egregiamente una simile quantità di record; presentando differenze in termini di affidabilità e prestazioni che sarebbero poco significative per determinare un criterio di scelta. Solo per qualche nome, database - gratuiti - come: SQL Server 2005 Express Edition, MySQL 5.0 Community Server, Oracle 10g Express Edition sono eccellenti punti di partenza.