2010-09-13 8 views
1

Je développe une application J2EE qui gère des centaines de pots (enregistrés et chargés à la volée) pour les gérer, j'ai deux options:enregistrer le fichier en tant que lob ou en tant que fichier OS?

  1. créer un répertoire sur le serveur qui contient tous les pots
  2. sauver le pot comme un LOB dans un oracle base de données 10g

Pourriez-vous me aider à choisir la meilleure solution? Quels sont les avantages de chaque option?

merci pour votre aide.

+0

Quelques questions en premier: 1. Quelle est la taille moyenne du fichier jar? 2. À quelle fréquence les créez-vous/les modifiez-vous/les utilisez-vous? 3. Comment y accéder? –

+0

4. Prévoyez-vous qu'il pourrait y avoir un cluster de serveurs d'applications au lieu d'un seul? – Thilo

+0

1-Je pense que la taille moyenne du fichier ne dépassera pas 50kb 2-Les jars ne les créent pas et ils ne sont pas modifiés mais ils sont chargés à partir d'une interface graphique et enregistrés pour une utilisation future ... pense que je vais générer des fichiers ant et inclure des jars dans classpath. – user405458

Répondre

1

S'il y a beaucoup de jars, vous pouvez utiliser Maven comme organisation de fichiers divisée par dossiers. Il est toujours préférable de stocker les fichiers dans un système de fichiers optimisé pour les E/S de fichiers volumineux et de conserver leurs chemins/URL dans la base de données de votre choix.

+1

Je vais également prendre en charge l'enregistrement des fichiers sur le système de fichiers et l'enregistrement de leur chemin/URL dans la base de données. Le principal avantage que vous pouvez tirer de l'enregistrement des fichiers sur le système de fichiers est que le clustering, la réplication, etc. sont très bon marché et faciles à faire sur un système de fichiers comparé aux bases de données +. distribution à grande vitesse de ces fichiers si nécessaire. –

+1

les systèmes de fichiers sont pour les fichiers, les bases de données sont pour les enregistrements, +1 pour stocker les fichiers dans le système de fichiers du système d'exploitation et mettre les références dans la base de données. Vous pouvez également envisager une solution comme Amazon S3 si vous avez besoin d'accéder aux fichiers de plusieurs machines. –

0

Quelle est la sécurité entourant ces fichiers?

Objets dans une base de données peuvent être plus faciles à sécuriser et à vérifier l'accès.

En outre, jetez un oeil à SecureFiles/DBFS and deduplication Fondamentalement, si vous stockez beaucoup de copies du même fichier, la base de données s'en rendra compte et n'aura qu'une seule copie physique. L'équivalent des liens symboliques.

Les performances en écriture pour SecureFiles est better than a regular filesystem

Avec DSBF vous pouvez également monter la base de données en tant que système de fichiers. Cela peut rendre très facile le passage d'un stockage de système de fichiers «normal» à un stockage de base de données.

+0

Malheureusement cette solution est une fonctionnalité dans Oracle 11g et j'ai oracle 10g – user405458

0

impliquant une base de données LOB va être beaucoup plus lent dans presque toutes les circonstances, même si la base de données est en cluster. Développer une convention de dénomination de répertoires et de fichiers ne va pas être si difficile. Si vous le souhaitez, vous pouvez utiliser la base de données pour garder une trace des fichiers afin de ne pas avoir à chercher dans le système de fichiers lui-même.

Questions connexes