Just in case you wondered how many photos you really can have in your Apple Photos library, I can report that I have so far added 1 000 264 Photos and 10 242 Videos without any issues.
I’m fairly impressed and happy about it since all I could find was that it should support up to 100.000 photos, with a few reasoning about the limit being increased to 300.000 on modern hardware.
I’m running this on my MacBook Pro M2 Max with 64 GB ram.
Most formats gets converted to HEIC and HEVC on import, which are staggeringly effective compared to their original formats. The whole library file still only takes up 1.7TB, which is much less than expected. The original source on my NAS is around 5.6 TB.
Edit: Maybe I should add that I do not recommend this, and view it as an experiment for now. I’m still importing data. If it’s still stable and performant after a year and some OS updates then I can start recommending it.
Holy shit. I have 25k and I thought that was a lot. Almost all raw, but still. A million, compressed or not, is insane.
Edit: barring professional use, but apple photos just doesn’t have the management for that.
-
Please make sure you have backups if these photos are important to you.
-
You can make this more manageable by creating separate photo libraries for separate purposes. Hold down the option key when launching the Photos app and you’ll see a prompt asking it’ll you want to open a different library, or create a new one.
- I have backups.
- I have multiple libraries. This is the main one. I don’t need to split it up as long as it’s already manageable :)
-
Yeah, yeah, yeah. Whatever. More penguin pictures!
Says the squid! I do not trust your intentions. The location of the penguins will not be revealed.
Curses!
What an interesting case study.
How do you convert imported media? I.e. what tool and/or settings do you use - especially for videos?
For photos, I use the macOS-included
sips
tool which doesn’t seem to need any tweaking. Justsips -s format heic *.jpg --out ./
does the trick.For videos I’m using ff-Works with h.265 CRF 22 output, keeping dimensions and framerate.
I don’t do anything on import, I let Apple Photos handle it. I have not actually checked that it gets converted, but I cannot imagine anything else that can explain the reduction on size.
What is there that could limit the size of the library, apart from storage capacity?
If Apple chose to use a 16-bit integer for the index, they would be limited to approximately 65,000 photos. 32-bit would be about 4 billion. Photos likely uses a 32-bit or even 64-bit integer index value to make it a non-issue.
There could be issues with having too many thumbnails loaded in memory. Maybe some other value overflows when scrolling through (or just loading) an enormous library. If Photos also creates an index for searching that could also create headaches. If Photos were a simple file explorer having a million files shouldn’t be an issue but it’s more than that, so it’s good to know it seems to be performant with even 1 million photos.
They use a 64 bit integer for their primary keys.
https://github.com/RhetTbull/osxphotos/wiki/Photos-9-(Sonoma)-schema
Photos stores your image data in a SQLite database, and photos are stored named with UUIDs.
So you can store ~281TB of metadata and the limit on the number of files is far beyond that.
Performance, basically. There are a lot of fancy functionality and image processing, memories, search, content recognition, edits, different timeline views, smart albums, people albums etc… You have to take a lot of care to make all of this work smoothly with 1 million pictures!
Amazingly, so far it seems just about as snappy and smooth as always.
From the pictures I can see… you shoot some beautiful pictures! Hope all goes well and you don’t have any problems! Love the sky and rocks and the penguins Ofc! 😁
Have you noticed any discrepancies between what’s on you drive and what’s in iCloud? I’ve had clients with much smaller libraries that would have say 50,000 on iCloud but 50,100 on their Mac. How do you figure out what’s missing? AFAIK there’s no way to tell Photos to resync with iCloud.
I also use Apple Photos.
I’ve heard people complain with horror stories about data loss, and I hope that doesn’t happen to me or you, but so far the service is very convenient.
I’ve never heard of data loss. From the local machine or the cloud, or both?
Nevertheless, I make a nightly export to my own file structure which is stored on a NAS and also backed up to a third party cloud, so I’m not very concerned.
What do you use for the export process?
You can use it from the command line, but I use the Python interface with a custom script to handle some of my custom stuff like making sure the NAS volume is mounted, tweak some naming, more robust duplication handling etc.
I used to run iCloudPD through docker on my NAS, which works great and can sync down everything directly from iCloud. However, if you turn on Advanced Data Protection like I did, software like icloudpd can no longer access your photos.
I’ve instead added an external SSD to a Mac Mini server and set it to download all originals, then I run the script on a schedule every night to export anything new to my NAS. Then the backup of my NAS to an encrypted cloud location will kick in a few hours later.
As 99% of my photos come from my phone, I’m using PhotoSync to push them to my NAS whenever it sees my home WiFi.
I’m sure it’s better now than last I tried it years ago, but I like a solution that works also when I’m away traveling. And I get a lot of power and control over metadata as well.