2010-12-08 76 views
0

[1], [2] et de nombreuses autres références permettent de conclure que les BLOB de taille inférieure à 0,3-1 MB devraient être stockés dans la base de données alors que les BLOB dépassent 1 Mo dans le système de fichiers (éventuellement FILESTREAM).vos raisons pour stocker des blobs moins de 0.3 MB dans la base de données?

FACEBOOK.com stocke 6.5 (30 avec des vignettes et des versions de taille) des milliards d'images dans le système de fichiers [3].

livre blanc de Randal [2] raisons pour lesquelles il par:
alt text

Eh bien, cela ne me convainc pas la nécessité de stocker des blobs dans la base de données, mais juste sur le fait qu'ils ne doivent pas être accessibles/ruisselait à l'extérieur par le biais T-SQL mais plutôt via Win32.

D'autres raisons, j'ai lu, ne me semblent pas aussi convaincantes. Quelles sont vos raisons de stocker des blobs dans une base de données plutôt que dans un système de fichiers?

[1]
Ray Barley. L'utilisation FILESTREAM BLOBs magasin dans le système de fichiers NTFS dans SQL Server 2008
http://www.mssqltips.com/tip.asp?tip=1489
[2]
Paul S. Randal
stockage FILESTREAM dans SQL Server 2008
http://msdn.microsoft.com/en-us/library/cc949109(SQL.100).aspx
[3]
James article de blog Hamilton . Facebook: Une aiguille dans une botte de foin: Stockage efficace des Milliards de photos
http://perspectives.mvdirona.com/2008/06/30/FacebookNeedleInAHaystackEfficientStorageOfBillionsOfPhotos.aspx

+1

Quelle est la question? –

+1

N'oubliez pas le document de recherche ['To BLOB or not to BLOB'] (http://research.microsoft.com/apps/pubs/default.aspx?id=64525) par MS. – Oded

+0

@Oded, je n'ai pas, il est fortement cité dans [2]. Vraiment toutes les raisons sont dupées à partir de là –

Répondre

3

Il peut y avoir de nombreux avantages à stocker ces données dans une base de données plutôt que d'un système de fichiers:

L'intégrité des données - vous pouvez mettre en œuvre des contraintes sur ce

support des transactions

Manageability - sauvegarde et de restauration des options

Haute disponibilité - da Les tabases ont tendance à avoir des options plus sophistiquées de mise en miroir et de mise en cluster que les systèmes de fichiers.

sécurité - vous obtenez le genre de contrôles de sécurité à grains fins que vous faites pas avec un système de fichiers

Accessibilité - tables dans une base de données sont accessibles à toutes sortes d'applications à des fins de présentation et d'analyse. Les bases de données peuvent facilement être interrogés avec des instructions SQL

Audit - vous pouvez enregistrer et suivre les modifications aux données

Je pense qu'il ya beaucoup, beaucoup d'autres raisons, mais ce sont ceux qui sont entrées à l'esprit.