The Ethereum white paper contains multiple examples of contract code using storage. How does this scale? What if an application requires a database with multiple gigabytes of data? Is that possible?
It is technically possible, but economically unrecommended. As explained here, storing data in the Ethereum blockchain is very pricey, altough the gas price is 21Gwei at the moment of writing, not 50 like mentioned in the source thread.
Also, the querying of data in a node is not near as fast as using a database. For distributed databases there are a lot better solutions. The strength of Ethereums Smart Contracts and the Blockchain Technology as a whole lies in the decentralized prcessing of application logic. This is what you should mostly use Ethereum for. Of course it won't hurt to store a couple bytes and strings here and there, but huge data will come at huge costs.