Very important: Metadata V2 for 0.70 (EXIF, XMP, IPTC etc.)
Posted: Wed Jul 10, 2013 8:32 am
One of the main problems of the DB backend now is the metadata.
It is stored in a black-box-BLOB in the Images table which otherwise it should be the fastest table in the system.
I wrote enough time why such a BLOB is a performance drain when we discussed about Thumbs.
However, now the things are different. While the Thumbs cannot be improved internally, the Metadata sure it can in terms of space, performance, search and display and support for other subsystems (eg. searching for duplicates).
That's why, by far, is best to split the blob in fields.
Also, while we're here, we'll take a more general approach to image properties.
The initial plan is to have two tables, one for EXIF and one for IPTC - also an existing table (ImagesInfo) possibly to be expanded with new fields.
Question: Which are the most important metadata fields for you for displaying and filter / search?
Please make two lists, one for display and one for filter / search, in the order of importance.
My lists:
Filter / Search
--------------------
EXIF: ISO Value
EXIF: Aperture
EXIF: Focal Length
EXIF: Shutter Speed
EXIF: Camera Model
Display:
-----------
Same as above
EXIF: Exposure Bias
=======================================================
For your convenience, bellow are the most common fields from one of the most common programs:
XnView
File created date
File modified date
File size
File type
Comment
IPTC: Caption
IPTC: Caption Writer
IPTC: Headline
IPTC: Special Instruction
IPTC: Keywords
IPTC: Categories
IPTC: Supplemental Categories
IPTC: Copyright
IPTC: Byline
IPTC: Byline Title
IPTC: Credit
IPTC: Source
IPTC: Edit.Status
IPTC: Priority
IPTC: Object Cycle
IPTC: Job ID
IPTC: Program
IPTC: Object Name
IPTC: Date.Created
IPTC: Release.Date
IPTC: City
IPTC: Sublocation
IPTC: State Province
IPTC: Country
IPTC: Country Code
IPTC: Original Transmission
IPTC: Contact
IPTC: Location
EXIF: Make
EXIF: Model
EXIF: Date Modified
EXIF: Date Taken
EXIF: Date Digitized
EXIF: Software
EXIF: F Number
EXIF: ISO Value
EXIF: Focal Length
EXIF: Shutter speed
EXIF: Aperture
EXIF: Copyright
EXIF: User Comment
EXIF: Image Description
EXIF: Exposure Time
EXIF: Exposure Bias
EXIF: Flash
FastStone
Make
Model
Software
Date/Time
Exposure Time
Exposure Program
Exposure Bias
F Number
Max Aperture
ISO
Flash
Focal Length
35mm Equiv
Metering Mode
GPS
Lightroom
It has (at least) two tables:
AgHarvestedExifMetadata
Aperture
CameraModelRef
cameraSNRef
dateDay
dateMonth
dateYear
flashFired
focalLength
gpsLatitude
gpsLongitude
gpsSequence
hasGPS
isoSpeedRating
lensRef
shutterSpeed
AgHarvestedIptcMetadata
cityRef
copyrightState
countryRef
creatorRef
isoCountryCodeRef
jobIdentifierRef
locationDataOrigination
locationGPSSequence
locationRef
stateRef
Zoner Photo Studio
Has (at least) three tables:
CIM_ID
CIM_Path
CIM_OriginalPath
CIM_DisplayNameWithExt
CIM_Extension
CIM_Size
CIM_CaptureTime
CIM_CreationTime
CIM_LastWriteTime
CIM_ImageWidth
CIM_ImageHeight
CIM_ImageBpp
CIM_ImageDimesionsSort
CIM_ImageSizeSort
CIM_ImageDPI
CIM_ExifExposureTime
CIM_ExifAperture
CIM_ExifISO
CIM_ExifExpositionAdj
CIM_ExifFocalLength
CIM_ExifFocalLength35mm
CIM_ExifFocalRange
CIM_DataRating
CIM_DataLabel
aperture
cameraModelRef
cameraSNRef
dateDay
dateMonth
dateYear
flashFired
focalLength
gpsLatitude
gpsLongitude
gpsSequence
hasGPS
isoSpeedRating
lensRef
shutterSpeed
cityRef
copyrightState
countryRef
creatorRef
isoCountryCodeRef
jobIdentifierRef
locationDataOrigination
locationGPSSequence
locationRef
stateRef
Please answer & comment.
It is stored in a black-box-BLOB in the Images table which otherwise it should be the fastest table in the system.
I wrote enough time why such a BLOB is a performance drain when we discussed about Thumbs.
However, now the things are different. While the Thumbs cannot be improved internally, the Metadata sure it can in terms of space, performance, search and display and support for other subsystems (eg. searching for duplicates).
That's why, by far, is best to split the blob in fields.
Also, while we're here, we'll take a more general approach to image properties.
The initial plan is to have two tables, one for EXIF and one for IPTC - also an existing table (ImagesInfo) possibly to be expanded with new fields.
Question: Which are the most important metadata fields for you for displaying and filter / search?
Please make two lists, one for display and one for filter / search, in the order of importance.
My lists:
Filter / Search
--------------------
EXIF: ISO Value
EXIF: Aperture
EXIF: Focal Length
EXIF: Shutter Speed
EXIF: Camera Model
Display:
-----------
Same as above
EXIF: Exposure Bias
=======================================================
For your convenience, bellow are the most common fields from one of the most common programs:
XnView
File created date
File modified date
File size
File type
Comment
IPTC: Caption
IPTC: Caption Writer
IPTC: Headline
IPTC: Special Instruction
IPTC: Keywords
IPTC: Categories
IPTC: Supplemental Categories
IPTC: Copyright
IPTC: Byline
IPTC: Byline Title
IPTC: Credit
IPTC: Source
IPTC: Edit.Status
IPTC: Priority
IPTC: Object Cycle
IPTC: Job ID
IPTC: Program
IPTC: Object Name
IPTC: Date.Created
IPTC: Release.Date
IPTC: City
IPTC: Sublocation
IPTC: State Province
IPTC: Country
IPTC: Country Code
IPTC: Original Transmission
IPTC: Contact
IPTC: Location
EXIF: Make
EXIF: Model
EXIF: Date Modified
EXIF: Date Taken
EXIF: Date Digitized
EXIF: Software
EXIF: F Number
EXIF: ISO Value
EXIF: Focal Length
EXIF: Shutter speed
EXIF: Aperture
EXIF: Copyright
EXIF: User Comment
EXIF: Image Description
EXIF: Exposure Time
EXIF: Exposure Bias
EXIF: Flash
FastStone
Make
Model
Software
Date/Time
Exposure Time
Exposure Program
Exposure Bias
F Number
Max Aperture
ISO
Flash
Focal Length
35mm Equiv
Metering Mode
GPS
Lightroom
It has (at least) two tables:
AgHarvestedExifMetadata
Aperture
CameraModelRef
cameraSNRef
dateDay
dateMonth
dateYear
flashFired
focalLength
gpsLatitude
gpsLongitude
gpsSequence
hasGPS
isoSpeedRating
lensRef
shutterSpeed
AgHarvestedIptcMetadata
cityRef
copyrightState
countryRef
creatorRef
isoCountryCodeRef
jobIdentifierRef
locationDataOrigination
locationGPSSequence
locationRef
stateRef
Zoner Photo Studio
Has (at least) three tables:
CIM_ID
CIM_Path
CIM_OriginalPath
CIM_DisplayNameWithExt
CIM_Extension
CIM_Size
CIM_CaptureTime
CIM_CreationTime
CIM_LastWriteTime
CIM_ImageWidth
CIM_ImageHeight
CIM_ImageBpp
CIM_ImageDimesionsSort
CIM_ImageSizeSort
CIM_ImageDPI
CIM_ExifExposureTime
CIM_ExifAperture
CIM_ExifISO
CIM_ExifExpositionAdj
CIM_ExifFocalLength
CIM_ExifFocalLength35mm
CIM_ExifFocalRange
CIM_DataRating
CIM_DataLabel
aperture
cameraModelRef
cameraSNRef
dateDay
dateMonth
dateYear
flashFired
focalLength
gpsLatitude
gpsLongitude
gpsSequence
hasGPS
isoSpeedRating
lensRef
shutterSpeed
cityRef
copyrightState
countryRef
creatorRef
isoCountryCodeRef
jobIdentifierRef
locationDataOrigination
locationGPSSequence
locationRef
stateRef
Please answer & comment.